home *** CD-ROM | disk | FTP | other *** search
/ PC Pro Reference 11 / DPPROREFSB11.ISO / Database / RWC Database / RWC 11 sorted.pro (.txt) < prev    next >
Encoding:
FileMaker Pro Database  |  2003-07-09  |  82.8 MB  |  843,610 lines

Text Truncated. Only the first 1MB is shown below. Download the file for the complete contents.
  1.  Copyright 1984-2001 FileMaker, Inc. 
  2. HBAM2016AUG95
  3. Pro 5.0
  4. beta-test@
  5. columnist@
  6. control@
  7. distribution@
  8. probably
  9. snowing
  10. frost
  11. thick
  12. watchers
  13. dismayed
  14. recently
  15. keeping@
  16. pass-sheet@
  17. suggestions@
  18. weekend@
  19. really@
  20. volume-licensing@
  21. wizard@
  22. really@
  23. investigates
  24. design
  25. potential
  26. latest
  27. HBAM3016AUG95@
  28. glancing@
  29. glitch
  30. glitch-free
  31. glitched@
  32. globalization@
  33. gloucester@
  34. glwebmail
  35. glyph's
  36. gmedia's
  37. gnat@
  38. go-ahead
  39. go-anywhere@
  40. godsend
  41. goes@
  42. goggles@
  43. going
  44. goings@
  45. golive@
  46. goner
  47. gonna
  48. good-enough
  49. good-looking@
  50. goods@
  51. google's
  52. gorilla@
  53. gotcha
  54. gov/oc/buyonline/def
  55. governed@
  56. government's@
  57. grab-bag@
  58. grabber
  59. grabs
  60. grace@
  61. graffiti-phobe@
  62. grafted
  63. grandchildren@
  64. granularity@
  65. graphic's@
  66. graphically
  67. Sunday
  68. Monday
  69. Tuesday
  70.     Wednesday
  71. Thursday
  72. Friday
  73. Saturday
  74. January
  75. February
  76. March
  77. April
  78. August
  79.     September
  80. October
  81. November
  82. December
  83. 1st Quarter
  84. 2nd Quarter
  85. 3rd Quarter
  86. 4th Quarter
  87. reader
  88. dVeQdR
  89. About
  90. C:\Program Files\Development\FileMaker Developer 6\SYSTEM\
  91. UKENGLSH.MPR
  92. C:\Program Files\Development\FileMaker Developer 6\SYSTEM\
  93. USER.UPR
  94. 7/9/2003
  95. BUTTONS
  96. BYLINE
  97. CAPTION
  98. CAPTIONS
  99. DEFAULT IMAGE
  100. FOUND COUNT
  101. HEADER GRAPHIC
  102. HEADER GRAPHICS
  103. HEADLINE
  104. IMAGE
  105. IMAGE NUMBER
  106. IMAGE NUMBER TEXT
  107. IMAGE STATUS
  108. IMAGE TOTAL
  109. IMAGES
  110. ISSUE DATE
  111. ISSUE NO
  112. ISSUE TEXT
  113. PREVIOUS
  114. RECORD NUMBER
  115. RECORD STATUS
  116. SEARCH ERROR
  117. SEARCH MODE
  118. SEARCH TEXT1
  119. SEARCH TEXT2
  120. SEARCH TEXT3
  121. SEARCH TEXT4
  122. SEARCH TYPE
  123. SECTION
  124. STRAP
  125. Issue NoB
  126. BylineB
  127. HeadlineB
  128. TextB
  129. ImagesB
  130. CaptionsB
  131. StrapB
  132. TypeB
  133. Header GraphicsB
  134. Issue DateB
  135. October
  136. November
  137. December
  138. January
  139. February
  140. March
  141. April
  142. August
  143.     September!
  144. +9)/12))
  145. Header GraphicB
  146. Question
  147. Reader's Tip
  148. Dave's Tip
  149. Default ImageB
  150. Image NumberB
  151. Image TotalB
  152. Image StatusB
  153. ButtonsB
  154. NextB
  155. PreviousB
  156. ImageB
  157. ImageB
  158. gizmo
  159. gizmoso
  160. gk2a's
  161. gk2a-compatible
  162. gl-pro
  163. glacial
  164. glacier
  165. glaciers
  166. gladB
  167. gladden
  168. gladly
  169. gladman
  170. glaister
  171. glamorganshire
  172. glamourO
  173. glanceA
  174. TempB
  175. var1B
  176. Issue TextB
  177. CaptionB
  178. Search TypeB
  179. Search Text1B
  180. Search Text2B
  181. Search Text3B
  182. Search Text4B
  183. Found CountB
  184. Record NumberB
  185. Record StatusB
  186. Search errorB
  187. Section
  188. Section
  189. Section
  190. Section
  191. Section
  192. Section
  193. sailed~
  194. sailing
  195. sainsbury
  196. sainsbury's
  197. sainsburys
  198. sainscos
  199. saint
  200. sakeZ
  201. sakesP
  202. salacious
  203. salad
  204. salaries
  205. salary
  206. saleG
  207. saleableP
  208. salesI
  209. Entry
  210. Search
  211. Credits
  212. Globals
  213. Print
  214. @+A    View Pics
  215. Start
  216. Categories
  217. List WITH SECTION
  218. Categories Copy
  219. EntryB
  220. PageB
  221. VAR2B
  222. Search ModeB
  223. Image Number TextB
  224. Image Number
  225. Image Number
  226. PicsB
  227. Issue 
  228. Record
  229. javastation
  230. javax
  231. jaw-dropper
  232. jaw-dropping
  233. jazdzewski
  234. jazzJ
  235. jazz-style
  236. jazzier
  237. jazzing
  238. jazzy
  239. jbloggs
  240. jbuilder
  241. jbuilder's
  242. jbuilder2
  243. jbuilders
  244. jclabels
  245. jclass
  246. jconnect
  247. jcslider
  248. jcstring
  249. jdbcz
  250. jdbgmgr
  251. jdirect
  252. jdiskreport]
  253. jdk/1.1/docs/guide/j
  254. jdk1.0.2
  255. jdk1.1
  256. jdk1.1-style
  257. SearchB
  258. Image TotalF
  259. CreditsB
  260. A{Copyright Dennis Publishing Limited
  261. PC PRO
  262. DENNIS PUBLISHING LIMITED
  263. 30 Cleveland Street
  264. London W1T 4JD
  265. editor@pcpro.co.uk
  266. By Categorys
  267. Key Word
  268. GlobalsB
  269. Project Manager:J
  270. Data entry:K
  271. Electronic Publisher:L
  272. Derek CohenM
  273. Tom GorhamN
  274. Sarah Gilliver
  275. PrintB
  276. Header GraphicsD
  277. Default ImageF
  278. ButtonsK
  279. TempM
  280. ListB
  281.   Dennis Publishing All Rights ReservedB%PC Pro Real World Computing on CD-RomD
  282. Issue 
  283. A    View PicsB
  284. Records Found:T
  285. Issue
  286. input
  287. input-output
  288. input/output
  289. inputsa
  290. inputs/outputsa
  291. inputstreamreader
  292. inputting
  293. inqmsg
  294. inqrsp
  295. inquiries
  296. inquiry
  297. inroads
  298. ins's
  299. insane~
  300. insanely
  301. insanity
  302. inscrutable
  303. insect
  304. insects
  305. insecureC
  306. insensibility
  307. StartB
  308. CategoriesB
  309. .This Database contains every Real World Computing article from the last five years of PC Pro. Click continue to choose a section, or use the search button to search for a specific article or keyword.
  310. The Q+A (Technical Support) section is in a separate database. Click Menu to return to the main menu.
  311. List WITH SECTIONB
  312. Categories CopyB
  313. Records Found:T
  314. Issue
  315. important
  316. importantlyM
  317. importation
  318. imported[
  319. importer
  320. importers
  321. winder's
  322. windfall
  323. winding
  324. windir
  325. windowD
  326. Jon HoneyballD
  327. The big change?
  328. Afew weeks ago, I attended the launch of Windows Server 2003 in London, and what a fascinating experience it was. It's clear that Microsoft really, really wants us to believe that this is the best, most stable, bomb-proof version of Windows ever released, and that we should be rushing out to upgrade for that reason alone. While this is a fairly predicable ambition for such a keen marketing team, it also indirectly illuminates a rather scary statistic that underlies their ardour; namely, th
  329. Z}    8H
  330.     Helvetica
  331. Geneva
  332. Courier
  333. Times
  334. Arial
  335. D ITCKabel Demi
  336. Georgia
  337. Times New Roman
  338.     Type-Face
  339. TypoUpright BT
  340. MS Sans Serif
  341. Courier New
  342. another
  343. directive
  344. incorporated
  345. yet-to-be-released
  346. yield
  347. yielded
  348. yielding
  349. yields
  350. ymodem
  351. yocam
  352. yodlee
  353. yonderway
  354. york-based
  355. yorks
  356. yorkshire
  357. yosemite
  358. A%Fill In Number of images doesn't work
  359.  = ""
  360.  = ""
  361. Previous pic
  362. Print
  363. Paul Ockenden and Mark Newton christen a new column with a lesson in scripting language and tell you never to forget the three Rs.L
  364. February 1998P
  365. 40 (February 1998)i
  366. WEB BUSINESSj
  367. MULTIMEDIA:VIDEO
  368. Find SERVERSIDE PROGRAMMING
  369. SERVER SIDE PROGRAMMING
  370. Search
  371. Dave's Tip
  372.  = "" 
  373.  = "" 
  374.  = "" 
  375.  = "" 
  376.  = ""
  377. #"Please enter some search criteria"
  378. !Please enter some search criteriaC%
  379. , = "Or"
  380. ) = 0    
  381. List Layout
  382. Find All
  383. A    Full List
  384. Sort By Issue
  385. Enter Search
  386. Next Record
  387. Main Layout
  388. Previous Record
  389. ) = 1    
  390. Image Layout
  391. 8"Sorry, no matches were found. Please amend your search"
  392. 6Sorry, no matches were found. Please amend your search
  393. Set number of images = 0
  394.  = ""
  395. Clear Search Fields
  396. Credits
  397. Unlock
  398. Search Field 1
  399. Fill In Section
  400. Find CODE WORKSHOP
  401. CODE WORKSHOP
  402. &A    Find UNIX
  403. Find GRAPHICS/PUBLISHING
  404. Publishing/Graphics
  405. Find MOBILE COMPUTING
  406. MOBILE COMPUTING
  407. Find ON LINE
  408. ONLINE
  409. Find NETWORKS
  410. NETWORKS
  411. Find LEGAL
  412. LEGAL
  413. Find BACK OFFICE
  414. BACK OFFICE
  415. Find MULTIMEDIA AUDIO
  416. Find APPLICATIONS
  417. APPLICATIONS
  418. CATEGORY LIST
  419. Category Menu
  420. Search Field 2
  421. Search Field 3
  422. Search Field 4
  423. MULTIMEDIA:AUDIO
  424. Unformat Title, strap
  425. Strap LowerCase
  426. 7A    Copy Text
  427. Paste Text
  428. Flush cache
  429. imagenumber to 1
  430. Search And mode
  431.  " " & 
  432.  "") & 
  433.  " " & 
  434.  "") & 
  435.  " " & 
  436. ?A*Go To Layouts ----------------------------
  437. @A.Configuration don't touch---------------------
  438. AA-Searching stuff------------------------------
  439. BA,Find categories-----------------------------
  440. CATEGORY LIST from Menu
  441. Find MULTIMEDIA VIDEO
  442. MULTIMEDIA:VIDEO
  443. Find WEB BUSINESS
  444. WEB BUSINESS
  445. Find ADV WINDOWS
  446. ADVANCED WINDOWS
  447. Credits
  448. *Go To Layouts ----------------------------
  449. Main Layout
  450. Category Menu
  451. CATEGORY LIST
  452. CATEGORY LIST from Menu
  453. List Layout
  454.     Full List
  455. Next Pic
  456. Print
  457. Find All
  458. Sort By Issue
  459. Next Record
  460. Previous Record
  461. Image Layout
  462. $,Find categories-----------------------------
  463. Find ADV WINDOWS
  464. Find APPLICATIONS
  465. Find BACK OFFICE
  466. Find CODE WORKSHOP
  467. Find GRAPHICS/PUBLISHING
  468. Find LEGAL
  469. Find MOBILE COMPUTING
  470. Find MULTIMEDIA AUDIO
  471. Find MULTIMEDIA VIDEO
  472. Find NETWORKS
  473. Find ON LINE
  474. Find SERVERSIDE PROGRAMMING
  475. >    Find UNIX
  476. Find WEB BUSINESS
  477. B-Searching stuff------------------------------
  478. Clear Search Fields
  479. Search
  480. Enter Search
  481. Search Field 1
  482. Search Field 2
  483. Search Field 3
  484. Search Field 4
  485. Search And mode
  486. T.Configuration don't touch---------------------
  487. imagenumber to 1
  488. Flush cache
  489. Paste Text
  490. \    Copy Text
  491. Strap LowerCase
  492. Unformat Title, strap
  493. Previous pic pic
  494. gMKSXZ
  495. ZPCBVv
  496. u]ZZ\
  497. ^KJIJ
  498. hGC[qu
  499. yMJPq
  500. q_SOMMLJ
  501. ILSaw
  502. XAWf[LC@??><:
  503. bQqeL:2-../,)$!
  504. &))$"
  505. !'"#$)/9Lo
  506. PAZQ=/(%&((&#
  507. cSmS9) 
  508. SCWB.!
  509. xOiK3!
  510. b@T<)
  511. qS\9 
  512. QF0Ru
  513. e4.Ju
  514. D46Ux
  515. |7--U
  516. \H*Mt
  517. I;">]
  518. n]`^u
  519. o`^^bbcbc
  520. b[VRSZ]l
  521. od]YT
  522. TUWZ]_chy
  523. lZME<
  524. ?GNU^k
  525. `OE>7
  526. :AGNU`
  527. nD78=AKRVWW
  528. VPF>84/$
  529. #:K`z
  530. dY]biz
  531. rf\WL7
  532. !5DWo
  533. iQFJNTbkoqq
  534. pi\QIE=,
  535. *7FYn
  536. {VD91.+('
  537.  &3ER`s
  538. rRG@;863322
  539. #.?KWi}
  540. \A93/-+))((
  541. 2<FTdw
  542. wmea^\
  543. \]`djr~
  544. ylc\XVT
  545. TUW[`hs
  546. oaWPJGEC
  547. CDFIM
  548. zsmjhgff
  549. ghjmq
  550. gMKSXZ
  551. ZPCBVv
  552. u]ZZ\
  553. ^KJIJ
  554. hGC[r
  555. sttsttsrr
  556. yMJPq
  557. raWSPMJHH
  558. HJLLKMLIGGHJKJ
  559. HIKMKH
  560. ILSaw
  561. XAWf\OGDB?<::99::<
  562. ?>;9::<><:;>?>:
  563. bQqeM=:995/(##
  564. %+0/-0/'"!%,
  565. %&,1,%
  566. %('#"
  567. !G"#$)/9Lo
  568. PAZQ>2122/(!
  569. %*)'+)!
  570. cSmS9*%*<]YR@
  571. SCWB."
  572. %7TPH7
  573. 9oH'pS
  574. xOiK3!
  575. b@T<)
  576. z{BdF
  577. ,qK!2tb$#Z
  578. ~GO?'
  579. ij;V=
  580. *bB!0eV"#P
  581. qS\9 
  582. QF0Ru
  583. e4.Ju
  584. D46Ux
  585. |7--U
  586. \H*Mt
  587. I;">]
  588. n]`^u
  589. `cddcbba
  590. b[VRSZ]l
  591. od]YT
  592. TUWZ]_chy
  593. lZME<
  594. ?GNU^k
  595. `OE>7
  596. :AGNU`
  597. nD78=AKRVWW
  598. VPF>84/$
  599. #:K`z
  600. dY]biz
  601. rf\WL7
  602. !5DWo
  603. iQFJNTbkoqq
  604. pi\QIE=,
  605. *7FYn
  606. {VD91.+('
  607.  &3ER`s
  608. rRG@;863322
  609. #.?KWi}
  610. \A93/-+))((
  611. 2<FTdw
  612. wmea^\
  613. \]`djr~
  614. ylc\XVT
  615. TUW[`hs
  616. oaWPJGE
  617. CDFIM
  618. zsmjhgff
  619. ghjmq
  620. L//#TLA
  621. ,:NLL
  622. 20//&M
  623. angus@
  624. david@
  625. honeyball@
  626. kevin
  627. partner@
  628. ockenden
  629. lynch@
  630. odyssey@
  631. advanced@
  632. archiving@
  633. back@
  634. beyond@
  635. calling
  636. chaos@
  637. check@
  638. cred@
  639. delphi
  640. doesn't@
  641. eerie
  642. installation@
  643. essential
  644. experts
  645. extending
  646. illustrator@
  647. flow@
  648. fooled
  649. gamut
  650. gets@
  651. habits@
  652. half-full
  653. netiq@
  654. include
  655. upgrades@
  656. junkyard
  657. knowledge@
  658. lingos@
  659. looking@
  660. making
  661. multimedia
  662. master@
  663. model
  664. mail@
  665. mom's@
  666. improved
  667. flash@
  668. creature@
  669. currently@
  670. customised@
  671. data-handling@
  672. decades@
  673. deeper@
  674. defining@
  675. deja@
  676. deregulatory@
  677. designer@
  678. desperation@
  679. developing@
  680. didn't@
  681. disasters@
  682. 2CGA1
  683. &9JNH8#
  684. &8IMG7"
  685. +//3S
  686. +//3S
  687. +//3S
  688. 3657S
  689. 3657S
  690. 3657S
  691. over the coming months.
  692. Listing one
  693. <HTML>
  694. <HEAD>
  695. <TITLE>Text with incremental size increase</TITLE>
  696. </HEAD>
  697. <BODY BGCOLOR=#FFFFFF>
  698. <% for i = 2 to 7 %>
  699. <FONT SIZE=<%= i %>>PC Pro</FONT><BR>
  700. <% next %>
  701. </BODY>
  702. </HTML>
  703. Listing two
  704. #!/usr/bin/perl
  705. print "Content-type: text/html\n";
  706. print "\n";
  707. print "<html>\n";
  708. print "<HEAD>\n";
  709. print " <TITLE>Text with incremental size increase</TITLE>\n";
  710. print "</HEAD>\n";
  711. print "<BODY BGCOLOR=#FFFFFF>\n";
  712. for ($i = 2; $index <= 7; $i++) {
  713. rint "<FONT SIZE="; print $I; print ">PC Pro</FONT><BR>\n";
  714. print "<BR>\n";
  715. print "</BODY>\n";
  716. print "</HTML>\n";
  717. Listing three
  718. <frameset rows="70, *">
  719.   <frame name="toolbar" src="toolbar.asp" scrolling="NO" frameborder="0" framespacing="0">
  720.   <frameset cols="30%, *">
  721.     <frame name="toc" src="toc.asp" frameborder="0" framespacing="0">
  722.     <frame name="mainbody" src="main.asp" frameborder="0" framespacing="0">
  723.   </frameset>
  724. </frameset>
  725. ve no problem getting session variables tracked properly between pages on your site. If, however, you write the link as:
  726. <a href="/fred/html/home.asp">Goto Home Page</a>
  727. and Netscape creates a new session because of its case sensitivity, hence the session values seem to disappear. It
  728. s a mistake that
  729. s very easy to make, and incredibly difficult to find. 
  730. The three Rs
  731. s all very well having the latest techno-wizardry on your site, but people won
  732. t visit just because you have a fancy f
  733. orm or some clever animated text effects. You need to spend some time analysing the needs and interests of prospective site visitors, and provide appropriate content. Content is king! A broad rule of thumb is the 'Three Rs' principle. These are: reference, reward and recreation. If you can provide one of these your site will be good, two and your site will be above average, but include all three and your site has the potential to be stunning! We
  734. ll be talking a lot more about the three Rs 
  735. ht play with all the latest toys, it
  736. s worth remembering that the introduction of any new technology at the client end will always have an uphill struggle to become the de facto standard, by which time there
  737. ll be another 
  738. new kid on the block
  739. An IIS gotcha
  740. We recently had a problem with a Web site hosted on an IIS server, and that makes heavy use of session variables to track what the user
  741. s doing. Users were reporting that the site wasn
  742. t behaving as expected; we eventually traced thi
  743. s to the user clicking on a certain link while using Netscape. How could the choice of browser affect session variables (stored on the server)? The answer was a difference in case sensitivity between IE and Netscape when specifying the server
  744. s virtual directory in the browser URL. If, for example, your site is called Fred, the URL to your root project might be http://servername/Fred/. Create a link to home.asp like this: 
  745. <a href="/Fred/html/home.asp">Goto Home Page</a>
  746. then you should ha
  747. gMKSXZ
  748. ZPCBVv
  749. u]ZZ\
  750. ^KJIJ
  751. LKKRj
  752. TYLE="position:absolute; left:300; top:25">
  753. Once the design tools are enhanced to let you drag and drop objects anywhere on a page (and they stay there) you
  754. re finally talking about real DTP for the Web, instead of the battle to fix objects where you want them using tables, invisible GIFs and all those other sneaky tricks. FrontPage 98 is currently in beta, and already has some support for these new commands.
  755. It may be a while before Dynamic HTML is universally used, but most of its new co
  756. mmands seem to fail gracefully on the older browsers, so with care you can use them to enhance a site without excluding too many users. This is an important consideration, as many large corporations don
  757. t let employees change their browser at will, so some of the biggest names your site is trying to attract may still be using fairly old versions. The Times stated the other day that 
  758. 60 per cent of companies with more than a thousand employees are still using Windows 3.1
  759. . While journos mig
  760. hGC[rv
  761. yMJPq
  762. raVQMKLMNMMKH
  763. KLKHH
  764. HIKMMKIH
  765. HILLJH
  766. ILSaw
  767. XAWf\NFC?<=?A@@=;
  768. :;>>=;:
  769. :;>??>;:
  770. :;>><:
  771. ;=CN_s
  772. bQqeM<774,(-2431*#!
  773. #&-1+%#
  774. "    #(1531+&#"
  775. #$)01(#
  776. "#$)/9Lo
  777. PAZQ>1.0.%!',.-+#
  778. !*/.*%
  779. !&.=Z
  780. cSmS9*#%6Yi
  781. &6mVj
  782. *\\X1
  783. SCWB."
  784. #3_K\
  785. (RRO-
  786. xOiK3!
  787. b@T<)
  788. 0uAb5$U
  789. ~GO?'
  790. $Dr[!
  791. -f;U1$LsJ
  792. qS\9 
  793. {9g g
  794. QF0Ru
  795. e4.Ju
  796. D46Ux
  797. |7--U
  798. \H*Mt
  799. I;">]
  800. n]`^u
  801. o`^^bbcb
  802. cbbacc
  803. dccdd^SNV_d
  804. dcceffedcdeeddcc
  805. b[VRSZ]l
  806. od]YT
  807. TSPOQT
  808. TUWZ]_chy
  809. lZME<
  810. ;98:<
  811. ?GNU^k
  812. `OE>7
  813. 65457
  814. :AGNU`
  815. nD78=AKRVWW
  816. VPF>84/$
  817. #:K`z
  818. dY]biz
  819. rf\WL7
  820. !5DWo
  821. iQFJNTbkoqq
  822. pi\QIE=,
  823. *7FYn
  824. {VD91.+('
  825.  &3ER`s
  826. rRG@;863322
  827. #.?KWi}
  828. \A93/-+))((
  829. %2<FTdw
  830. wmea^\
  831. \]`djr~
  832. ylc\XVT
  833. TUW[`hs
  834. oaWPJGEC
  835. CDFIMS\gu
  836. zsmjhgff
  837. ghjmqv~
  838. gMKSXZ
  839. ZPCBVv
  840. u]ZZ\
  841. ^KJIJ
  842. LKKRj
  843. hGC[qu
  844. rstv{
  845. yMJPq
  846. q_SPOLIHH
  847. ILSaw
  848. XAWf[LCAA>;::
  849. ;=CN_s
  850. bQqeL:34:=6(""
  851. !("#$)/9Lo
  852. PAZQ=/*-370!
  853. !&.=Z
  854. cSmS9)"'6>m
  855. SCWB.!
  856. "3;auT
  857. xOiK3!
  858. b@T<)
  859. +qTWTK
  860. "0oq%
  861. ~GO?'
  862. (8et<
  863. -HueG[
  864. .@ti#
  865. +dJKKDo
  866. (8et<
  867. "0bc!
  868. qS\9 
  869. o rYo
  870. QF0Ru
  871. e4.Ju
  872. D46Ux
  873. |7--U
  874. \H*Mt
  875. I;">]
  876. vnS;S
  877. n]`^u
  878. o`^^bbcb
  879. aUIDIU`
  880. b[VRSZ]l
  881. od]YT
  882. TRQRT
  883. TUWZ]_chy
  884. lZME<
  885. ?GNU^k
  886. `OE>7
  887. nD78=AKRVWW
  888. VPF>84/$
  889. #:K`z
  890. rf\WL7
  891. !5DWo
  892. iQFJNTbkoqq
  893. QIE=,
  894. *7FYn
  895. {VD91.+('
  896.  &3ER`s
  897. rRG@;863322
  898. #.?KWi}
  899. \A93/-+))((
  900. %2<FTdw
  901. wmea^\
  902. \]`djr~
  903. ylc\XVT
  904. TUW[`hs
  905. oaWPJGEC
  906. CDFIMS\gu
  907. zsmjhgff
  908. ghjmqv~
  909. gMKSXZ
  910. ZPCBVv
  911. u]ZZ\
  912. ^KJIJ
  913. KLKKRj
  914. hGC[qu
  915. st    v{
  916. yMJPq
  917. q`SNJIIJH
  918. HKMNMJH
  919. ILSaw
  920. XAWf[MC?<:;<:
  921. :>@A?<:
  922. =CN_s
  923. bQqeL;74+$#(-("
  924. "'23("
  925. "(7BC@5'"
  926. !("#$)/9Lo
  927. PAZQ=/--$
  928. "2<>;/ 
  929. !&.=Z
  930. cSmS9)!&0?
  931. ?nun`3
  932. SCWB.!
  933. =dhaS+
  934. xOiK3!
  935. b@T<)
  936. /JmZ)5KV7ZbNh
  937. SG>5ZbNh(/O
  938. 3DnMUN6
  939. ~GO?'
  940. /GbQ)5DJ7SXJ\
  941. G<55SXJ\(/N
  942. 3CcING0
  943. qS\9 
  944. QF0Ru
  945. e4.Ju
  946. D46Ux
  947. |7--U
  948. \H*Mt
  949. I;">]
  950. n]`^u
  951. o`^^bbcb
  952. fc[U[cb[VRSZ]l
  953. od]YT
  954. TRTWZ]_chy
  955. lZME<
  956. ?GNU^k
  957. `OE>7
  958. :AGNU`
  959. nD78=AKRVWW
  960. VPF>84/$
  961. #:K`z
  962. dY]biz
  963. rf\WL7
  964. !5DWo
  965. iQFJNTbkoqq
  966. pi\QIE
  967. *7FYn
  968. {VD91.+('
  969.  &3ER`s
  970. rRG@;863322
  971. #.?KWi}
  972. \A93/-+))((
  973. %2<FTdw
  974. wmea^\
  975. \]`djr~
  976. ylc\XVT
  977. TUW[`hs
  978. oaWPJGEC
  979. IMS\gu
  980. zsmjhgff
  981. n]NC;4/.16=IWn
  982. gMKSXZ
  983. ZPCBVv
  984. v`_`b
  985. #'((''
  986. aVYZ\
  987. ]XPSk
  988. `?EMG@@??==>
  989. ?EMJx
  990. `?EMG@@>>
  991. ?EMJx
  992. !+<FC@@??==>
  993. !+<FC@@>>
  994. "-Fbrz
  995. ~|rR$
  996. "-Fbrz
  997. ~|rR$
  998. IED5&
  999. IED5'
  1000. *>F>410351-01-
  1001. ,.1.,
  1002. +,-./+
  1003. *>F>51221-
  1004. ,.22.
  1005. -253.,
  1006. +,-./+
  1007. }j_ZWTQOO
  1008. OQSSRSSPMNOQRQOPRSROM
  1009. }j_ZWTQOON
  1010. OQSSRSSPMNOQRQOPRSROM
  1011. t@J7"
  1012. t@J7"
  1013. #1F?1+)/;EI>389,%
  1014. %+9BC?:85*%
  1015. '2;2'
  1016. %+89,%
  1017. $%&')1
  1018. #1F?1+*3?CA6+%
  1019. %)4A@0&
  1020. '2?HD5(
  1021. $%-:7*%
  1022. $%&')1
  1023. eX{nTC?=<92+'&%%&(.32032*%$(/2,()/4/(%&&%&(+*&%
  1024. %&(-4?Ty
  1025. [UznTC?=<92+'&%
  1026. %&(.32032*%$(/2,()/4/(%&&%&(+*&%
  1027. %&(-4?Ty
  1028. 3hrjbEML
  1029. #Muri
  1030. +"7K<.'&,?Sb
  1031. gHgu#%((&$$&()&%&(''&$%1Lv}unW][#%((&*=X}@
  1032. #&*4Kgu%'(&$
  1033. #9$%,R
  1034. +"7K<.'%)=a
  1035. |t7'$&)'%%&''*5LW~
  1036. %&(&%$&('
  1037. & (&%##$-FXt
  1038. *#%((&$$&()&%&(''&%&(
  1039. '&5Ny^'%$
  1040. f[w[?.(,>^ZSA
  1041. [Yw[?.(,<WRK:
  1042. !<pJ*qU
  1043. 1N=,'$%7Ss
  1044. #0;=4*&.9>8./996,#
  1045. $0;=51Bz
  1046. *6=EW
  1047. -8:1%
  1048. 1N=,'$#*B~
  1049. 6-7=90+499<J^
  1050. W4:6,)19988
  1051. ;6*#!#2R
  1052. $1;=4*&.9>8./996/.5;    91;X
  1053. #    'FA
  1054. yUsS8$
  1055. gQrS8$
  1056.  2:bj 
  1057. 2al7(<o=2#
  1058. SSUHS 2:bj(-n
  1059. T,;JrM
  1060. +7GInH"2X_6ss
  1061. ".:Hi(
  1062. *Kn5\Wn=n:;h*
  1063. 2:bj 
  1064. 2al7(<o?>D7;h3%F
  1065. (LC/&$$+BX
  1066. 0HSrv;/;LqxMCU{SH;"2R
  1067. UU[R[4JSrvBGz
  1068. ?R_~b
  1069. CQm_*
  1070. "b!"#%Fa
  1071. (LC/&$##)A}
  1072. ?O_{[=LkoO~
  1073. -<N]vB8E`{NlizUzRSuB%!#4S
  1074. [1JSrv;/;LqxMCU{USXPT    uJ
  1075. "E!"#%Fa
  1076. YkV6 
  1077. z{BdF
  1078. ,qK!2tb$#Z
  1079. RjU6 
  1080. ij;V> 
  1081. *bB!0eV"#Q
  1082. :Q5($##,I
  1083. !    "$Jp
  1084. :Q5($#"")B
  1085. 8+-Hp
  1086. !C"$Jp
  1087. rZe?#
  1088. aWd?#
  1089. 8'SE.%#""+G
  1090. "!&Ms
  1091. 8'SE.%#"!")B
  1092. !D"!&Ms
  1093. .W:)#"!#(>
  1094. 0")6Q
  1095. "!2St
  1096. .W:)#"!""
  1097. "!2St
  1098. yPf?!
  1099. 6T4(##!!$3i
  1100. !a #Ggh
  1101. 6T4(##!!")@x
  1102. ,?HIP
  1103. !D #Ggh
  1104. 2O1'##!!"(7
  1105. 2O1'##
  1106. !G':q
  1107. ($"!"!#'7
  1108. K2($"!"!$-`
  1109. e4.Ju
  1110. 85&#"#!
  1111. K.;+"J
  1112. 85&#"#!"##0N
  1113. !"!4G
  1114. K.;+"J
  1115. |7--U
  1116. n]`^u
  1117. `G!Bf
  1118. b    `cddcbbabb
  1119. b[VRSZ]l
  1120. 9eURV\adghi
  1121. m*ljhc`blmt
  1122. 9eURV\adghij
  1123. ljhc`blmt
  1124. m_RLFE
  1125. GMU^fv
  1126. m_RLFE
  1127. GMU^fv
  1128. od]YT
  1129. TUWZ]_chy
  1130. wlYPHD
  1131. CHMSX`s
  1132. wlYPHD
  1133. CHMSX`s
  1134. n[ME=>
  1135. ?GNU^l
  1136. {vhc__]\
  1137. ]`dgijp
  1138. {vhc__]\^^
  1139. ]`dgijp
  1140. dRF?89
  1141. :BHOVa
  1142. f)=Uj
  1143. f)=Uj
  1144. zY04O_u
  1145. zY04O_u
  1146. nD78=AKRVWW
  1147. VPF>84/$
  1148. #:K`z
  1149. eY]bj{
  1150. sf\WL8
  1151. $:K`z
  1152. |UHKNUclprr
  1153. qi]RJF>.
  1154. tN<DHJM
  1155. MH@5-+2@S_o
  1156. tN<DHJM
  1157. MH@5-+2@S_o
  1158. {VD91.+('
  1159.  &3ER`s
  1160. $(0@S_o
  1161. $(0@S_o
  1162. }YLD>:854
  1163. 1+&  &3ER`s
  1164.  %)1@S_o
  1165.  %)1@S_o
  1166. |WH>840/.--,
  1167.  &3ER`s
  1168. xojgee
  1169. gilqz
  1170. xojgee
  1171. gilqz
  1172. wmea^\
  1173. \]`djr~
  1174. xojgee
  1175. xojgee
  1176. gilqz
  1177. wmea^\
  1178. \]`djr~
  1179. xojgee
  1180. gilqz
  1181. xojgeed
  1182. gilqz
  1183. wmea^\[
  1184. \]`djr~
  1185. d page-break-after (at long last giving us some control over how HTML pages print out.) 
  1186. You can redefine say <H1> to be any style you like, just as you can with <strong>, <B> or any other tag. Imagine the damage you can do with this. If you want to change all headings to a different colour, then by simply redefining one style, all the text with that tag will change within that page. Or, if you use linked style sheets, the change will be propagated to all other pages using that linked styl
  1187. e sheet.
  1188. Style sheets make the design and maintenance of larger sites easier, and more importantly they introduce extra effects to basic HTML. One new feature Web designers will all love (and probably curse at times) is absolute and relative positioning. You can now place any object at an exact position on the browser page. The code for text works something like this:
  1189. <div STYLE="position:absolute; left:150; top:25">
  1190. This is some text
  1191. </div>
  1192. and like this for images:
  1193. <IMG SRC="image.gif" S
  1194. zl_VLGEGKS_m
  1195. cJ<6<FQ\gpvslbUI>6;Tt
  1196. lN>0#
  1197. +8F]o
  1198. hP>.%
  1199. "*8Gd
  1200. Y@7FZ|
  1201. )8GR[`^\VKA@BTo
  1202. )8GR[`^\VK?516Jn
  1203. ]A:Mx
  1204. *Hbqsrqpponnopqqnj]\j
  1205. *Hbqsrqpponnopqqni
  1206. :dsteP5%
  1207. !/H]mkir
  1208. :dsteP5%
  1209. !/H]mhURu
  1210. 6dvjO'
  1211. 5Uir~
  1212. 6dvjO'
  1213. 5Ug\]
  1214. .9Sg4
  1215. 1U]Gb
  1216. .9M[1
  1217. 1PTDW
  1218. {Woj,
  1219. z./Ux
  1220. f(1Wx
  1221. |4$K}
  1222. K#7[{
  1223. {4 ?`
  1224. z=!4f
  1225. \$'Jg
  1226. R("Jr
  1227. ]1 5^
  1228. H 'E^|
  1229. ^8!+Pq
  1230. R$ :Rm
  1231. ^8"'Hi
  1232. <%B`|
  1233. Y5"'Fe
  1234. ='@\u
  1235. rI- )Gd
  1236. r6)A[t
  1237. tQ5$ /Lf
  1238. Q**E]t
  1239. "7J]s
  1240. wI3?^w
  1241. ~gI3% &9Tl
  1242. T1(4Mbx
  1243. uZ@<Mm
  1244. {vux}
  1245. *>O`u
  1246. wN3,3EVgv
  1247. }sfWD2(!!'8Ncu
  1248. oYP[h
  1249. aE.)3GZj
  1250. oX@37AVi|
  1251. uaJ6)
  1252. )9HUfy
  1253. dE4(%$$
  1254. $##"#(3ATcs
  1255. s^KGGKRZ_d
  1256. e_YQG</,/<M[iy
  1257. p\J7/,,/257
  1258. 751.*% !%0>ITap
  1259. }jXLA93/,++,05;CLYdp{
  1260. qaPE<4.+(''(+06=FQ[fp}
  1261. uh[N@70)%" 
  1262. '+18AIRZdq~
  1263. |wromklmorw}
  1264. ~vqlhecabcehlrx
  1265. ume_ZWSQPNOPQSW[`gpx
  1266. gMKSXZ
  1267. ZPCBVv
  1268. gMKSXZ
  1269. ZPCBVv
  1270. gMKSXZ
  1271. ZPCBVv
  1272. gMKSXZ
  1273. ZPCBVv
  1274. gMKSXZ
  1275. ZPCBVv
  1276. gMKSXZ
  1277. ZPCBV
  1278. u]ZZ\
  1279. u]ZZ\
  1280. u]ZZ\
  1281. u]ZZ\
  1282. u]ZZ\
  1283. u]ZZ\
  1284. ^KJIJ
  1285. LKKRj
  1286. ^KJIJ
  1287. LKKRj
  1288. ^KJIJ
  1289. LKKRj
  1290. ^KJIJ
  1291. LKKRj
  1292. LKKRj
  1293. ^KJIJ
  1294. LKKRj
  1295. hGC[qu
  1296. yMJPq
  1297. hGC[qut
  1298. yMJPq
  1299. hGC[qu
  1300. yMJPq
  1301. hGC[qv
  1302. hGC[q
  1303. yMJPq
  1304. hGC[qu
  1305. yMJPq
  1306. q`TPLJIHH
  1307. H"ILSaw
  1308. q`SMJIJJKH
  1309. H"ILSaw
  1310. q`UOKIKMLH
  1311. G$GHHILSaw
  1312. q`USQOMIH
  1313. HJLLI
  1314. H!ILSaw
  1315. q_RNMMLIH
  1316. H!ILSaw
  1317. q`SPMKJHH
  1318. ILSaw
  1319. XAWf[MDA>;
  1320. ;=CN_s
  1321. XAWf[MC>
  1322. <:;<=:
  1323. :";=CN_s
  1324. XAWf[ME@=:<?>:
  1325. :!;=CN_s
  1326. XAWf[MFDDA>;:
  1327. :<>>;:
  1328. ;=CN_s
  1329. XAWf[L
  1330. :!;=CN_s
  1331. XAWf[MCA?<;::
  1332. ;=CN_s
  1333. bQqeL;7:960)#"
  1334. %39+"
  1335. "#$)/9Lo
  1336. bQqeL<72(#"%15'
  1337. !#"#$)/9Lo
  1338. bQqeL;8;2&#,:3$
  1339. !+"#$)/9Lo
  1340. bQqeL<77885.'#"##""!"##
  1341. $*1/($
  1342. !""#$)/9Lo
  1343. bQqeL:1-/8;6("
  1344. !)"#$)/9Lo
  1345. bQqeL:47862,%"!!"+92$
  1346. !*"#$)/9Lo
  1347. PAZQ=0.220)"
  1348. !&.=Z
  1349. PAZQ=1-+"
  1350. !&.=Z
  1351. PAZQ=0/3+ 
  1352. !&.=Z
  1353. PAZQ=1-/22/(!
  1354. !&.=Z
  1355. PAZQ=/'
  1356. %)150!
  1357. !&.=Z
  1358. PAZQ=/*/10,&
  1359. !&.=Z
  1360. cSmS9)"*Efcb5
  1361. cSmS9)")F/
  1362. cSmS9)"+BlE
  1363. cSmS9*#'/5h
  1364. cSmS9)
  1365. cSmS9)
  1366. !2\cbS
  1367. SCWB.!
  1368. &@\YX0
  1369. SCWB.!
  1370. SCWB.!
  1371. SCWB."
  1372. "+3\t[
  1373. SCWB.!
  1374. 2:atT
  1375. SCWB.!
  1376. /TYYK
  1377. xOiK3!
  1378. xOiK3!
  1379. xOiK3!
  1380. xOiK3!
  1381. xOiK3!
  1382. xOiK3!
  1383. b@T<)
  1384. b@T<)
  1385. b@T<)
  1386. b@T<)
  1387. b@T<)
  1388. b@T<)
  1389. ;Zm>a(9r
  1390. Je")m^Ky*$0Z
  1391. ?m.+F
  1392. /V[*JJ+c
  1393. )i]!0or+!8
  1394. #kNVL";td5,
  1395. +rSVSK
  1396. "0or%
  1397. 7zFa@h_(ZZRw-
  1398. ~GO?'
  1399. 7R`8U(7eu@
  1400. )`TEh%$0Rt^
  1401. ;^*+BqI
  1402. ~GO?'
  1403. (8et>
  1404. ,NP*DB+Z
  1405. ~GO?'
  1406. )\Q!0bd'!8
  1407. ~GO?'
  1408. !0`p8
  1409. #^FKC"7dW1,
  1410. ~GO?'
  1411. (7et<
  1412. -HueH\
  1413. .Ati"
  1414. +eKLKDo
  1415. (7et<
  1416. "0bd!
  1417. ~GO?'
  1418. ~5l?U<\S(RQLi)
  1419. qS\9 
  1420. qS\9 
  1421. qS\9 
  1422. qS\9 
  1423. qS\9 
  1424. qS\9 
  1425.     h5?t
  1426. o rYo
  1427. QF0Sv
  1428. QF0Rv
  1429. QF0Rv
  1430. QF0Qw
  1431. QF0Rw
  1432. QF0Ru
  1433. e4.Ju
  1434. e4.Ju
  1435. e94.Ju
  1436. e4.Jr
  1437. e4.Ju
  1438. e4.Ju
  1439. D46Vy
  1440. D46Uy
  1441. D46Uy
  1442. D46Sx
  1443. D46Ux
  1444. D46Ux
  1445. |7--U
  1446. |7--U
  1447. |7--U}
  1448. |7--U
  1449. |7--U
  1450. \H*Mt
  1451. \H*Mt
  1452. \H*Mt
  1453. \H*Mr
  1454. \H*Mt
  1455. \H*Mt
  1456. I;">]
  1457. I;">]
  1458. I;">]
  1459. I;">[
  1460. I;">]
  1461. I;">]
  1462. n]`^u
  1463. n]`^u
  1464. n]`^u
  1465. n]`^u
  1466. vnS;S
  1467. n]`^u
  1468. n]`^u
  1469. o`^^bbcb
  1470. e"b[VRSZ]l
  1471. o`^^bbcb
  1472. e"b[VRSZ]l
  1473. o`^^bbcb
  1474. b[VRSZ]l
  1475. o`^^bbcabbcbccbaabcc
  1476. deedc
  1477. e"b[VRSZ]l
  1478. o`^^bbcb
  1479. eaUIDIU`
  1480. e"b[VRSZ]l
  1481. o`^^bbcb
  1482. b[VRSZ]l
  1483. od]YT
  1484. U$TUWZ]_chy
  1485. od]YT
  1486. U$TUWZ]_chy
  1487. od]YT
  1488. TUWZ]_chy
  1489. od]YT
  1490. U$TUWZ]_chy
  1491. od]YT
  1492. TRQRT
  1493. U$TUWZ]_chy
  1494. od]YT
  1495. TUWZ]_chy
  1496. lZME<
  1497. ="?GNU^k
  1498. lZME<
  1499. ="?GNU^k
  1500. lZME<
  1501. lZME<
  1502. ="?GNU^k
  1503. lZME<
  1504. ="?GNU^k
  1505. lZME<
  1506. GNU^k
  1507. 8":AGNU`
  1508. `OE>7
  1509. 8":AGNU`
  1510. `OE>7
  1511. 8":AGNU`
  1512. `OE>7
  1513. 8 :AGNU`
  1514. 8":AGNU`
  1515. `OE>7
  1516. :AGNU`
  1517. nD78=AKRVWW
  1518. >84/$
  1519. #:K`z
  1520. nD78=AKRVWW
  1521. VPF>84/$
  1522. #:K`z
  1523. nD78=AKRVWW
  1524. VPF>84/$
  1525. #:K`z
  1526. nD78=AKRVWW
  1527. VPF>84/$
  1528. #:K`z
  1529. nD78=AKRVWW
  1530. VPF>84/$
  1531. #:K`z
  1532. nD78=AKRVWW
  1533. VPF>84/$
  1534. dY]biz
  1535. rf\WL7
  1536. !5DWo
  1537. dY]biz
  1538. rf\WL7
  1539. !5DWo
  1540. dY]biz
  1541. rf\WL7
  1542. !5DWo
  1543. dY]biz
  1544. rf\WL7
  1545. !5DWo
  1546. dY]biz
  1547. rf\WL7
  1548. !5DWo
  1549. dY]biz
  1550. rf\WL7
  1551. !5DWo
  1552. iQFJNTbkoqq
  1553. pi\QIE=,
  1554. *7FYn
  1555. iQFJNTbk
  1556. pi\QIE=,
  1557. *7FYn
  1558. iQFJNTbkoqq
  1559. pi\QIE=,
  1560. *7FYn
  1561. iQFJNTbkoqq
  1562. pi\QIE=,
  1563. *7FYn
  1564. iQFJNT
  1565. bkoqq
  1566. pi\QIE=,
  1567. *7FYn
  1568. iQFJNTbkoqq
  1569. pi\QIE=,
  1570. *7FYn
  1571. {VD91.+('
  1572.  &3ER`s
  1573. {VD91.+('
  1574.  &3ER`s
  1575. {VD91.+('
  1576.  &3ER`s
  1577. {VD91.+('
  1578.  &3ER`s
  1579. {VD91.+('
  1580.  &3ER`s
  1581. {VD91.+('
  1582.  &3ER`s
  1583. rRG@;863322
  1584. #.?KWi
  1585. rRG@;863322
  1586. #.?KWi}
  1587. rRG@;863322
  1588. #.?KWi}
  1589. rRG@;863322
  1590. #.?KWi}
  1591. rRG@;863322
  1592. #.?KWi}
  1593. rRG@;863322
  1594. #.?KWi}
  1595. \A93/-+))((
  1596. %2<FTdw
  1597. \A93/-
  1598. +))((
  1599. %2<FTdw
  1600. \A93/-+))((
  1601. %2<FTdw
  1602. \A93/-+))((
  1603. %2<FTdw
  1604. /-+))((
  1605. %2<FTdw
  1606. \A93/-+))((
  1607. %2<FTdw
  1608. wmea^\
  1609. \]`djr~
  1610. wmea^\
  1611. \]`djr~
  1612. wmea^\
  1613. \]`djr~
  1614. wmea^\
  1615. \]`djr~
  1616. wmea^\
  1617. \]`djr~
  1618. wmea^\
  1619. \]`djr~
  1620. ylc\XVT
  1621. TUW[`hs
  1622. ylc\XVT
  1623. TUW[`hs
  1624. ylc\XVT
  1625. STUW[`hs
  1626. ylc\XVT
  1627. TUW[`hs
  1628. ylc\XVT
  1629. TUW[`hs
  1630. ylc\XVT
  1631. TUW[`hs
  1632. oaWPJGEC
  1633. CDFIMS\gu
  1634. PJGEC
  1635. CDFIMS\gu
  1636. WPJGEC
  1637. CDFIMS\gu
  1638. oaWPJGEC
  1639. CDFIMS\gu
  1640. aWPJGEC
  1641. CDFIMS\gu
  1642. oaWPJGEC
  1643. CDFIMS\gu
  1644. zsmjhgff
  1645. ghjmqv~
  1646. smjhgff
  1647. ghjmqv~
  1648. zsmjhgff
  1649. ghjmqv~
  1650. zsmjhgff
  1651. ghjmqv~
  1652. zsmjhgff
  1653. ghjmqv~
  1654. zsmjhgff
  1655. ghjmqv~
  1656. erhaps more records will be sent than the user actually needs, or on the server, where the server generates HTML pages dependant on the user
  1657. s request. This second method puts a greater load on the server
  1658. s CPU, but in many cases uses less network bandwidth. If used sensibly,  that is by only sending small numbers of records to the data object - and definitely not your stock list of 1,000,000 items - it should become a useful tool for designing Web sites that talk to data sources, and we e
  1659. xpect to see interesting implementations using this object before long.
  1660. Putting on the style
  1661. A huge change that Dynamic HTML brings involves Cascading Style Sheets (CSS.) These are something like the styles you
  1662. ll be familiar with from Word or DTP programs; they give documents a coherent look and let you make global changes throughout your whole site by making a change in one place. Within each style you can change font, colour, borders, cursor type and, most happily, page-break-before an
  1663. H23< 
  1664. S>?G-
  1665. whm`"
  1666. W=>D$7
  1667. o_eP+
  1668. M79;/
  1669. g_h<G
  1670. R79:6
  1671. X6F~:
  1672. I79>(
  1673. whnZ7
  1674. WCEG;
  1675. phqGR
  1676. \CEFB
  1677. TCEI5
  1678. ] PICT
  1679. ver, onmouseout, onmousedown, onmouseup, onmousemove, onclick, ondblclick, onkeypress, onkeydown, and onkeyup events.
  1680. The main things to bear in mind when evaluating Dynamic HTML commands is that they produce their effects locally in your browser, without needing another call to the server. But all those hidden objects still need to be loaded by the browser, so the pages can take longer to load than their appearance would suggest. 
  1681. A handy object called the Data source object which acts mu
  1682. ch like the data control in VB, when placed on a page enables the user to scroll through records, sort and update them, and all this is done on a locally stored copy of the data, taking some of the load off the server. You can achieve this sort of effect using different database cursors under Active Server Pages, but the data source object takes it a bit further. 
  1683. As for scripting, there are different views as to whether this sort of data handling is best done on the client machine, when p
  1684. Q<PZ`
  1685. h`P<,
  1686. 0()9KI
  1687. uw`oi[kqskTPZeXpt
  1688. ziXbLBM
  1689. +-6DNOWev
  1690. hZ/1_
  1691. xpypvhdm
  1692.  ,*<>MNW^hlj
  1693. ymMA?AKN]
  1694. {urovxl|
  1695. XPKCKHM`fh_dj
  1696. D!,A;DFSa_qo
  1697. H,*%AZi|
  1698. zrqlvz
  1699. "ikgv
  1700. IH`^j
  1701. ^"\K7D(04.
  1702. $1.|-
  1703. x|rgl]VKOTUHPVR_bnos
  1704. gihNE=93c
  1705. v;3?SUYl
  1706. XRPUQXl
  1707.  !"(6=?JXf^Q_nq
  1708. YQJLHQi
  1709. aVKBDMU}
  1710. ;-,!4
  1711. `YXNQW`kzhqtmnx
  1712. ]4HKMSdnpz
  1713. Q4#,1=gs
  1714. nd^gam
  1715. ~xhmux
  1716. odaWc
  1717. M    EFB>741.-+
  1718. <MY\x
  1719.  &"'DMK
  1720. SilX\]?7EAVD7Qb[MNk{w|
  1721. vZ[MA3
  1722. |jp<=
  1723. gRE{(
  1724. 85EOT}
  1725. #2=C@
  1726. rvuvwlos~
  1727. !"&+8=>[Yceb]hr{
  1728. D    E_v
  1729. \]`OQSdhrswyx}
  1730. Z<KLTYhln
  1731. qL-&3DBXu
  1732.  (9@FIC
  1733. tomil
  1734. va]^K
  1735. B?953,
  1736. <;KXd
  1737. -=EFt
  1738. aPFA12)@<-8PL?@
  1739. _Z^XdjR@9
  1740. q`G(/
  1741. W-=kJ
  1742. ?+0?u9
  1743. gc#+1Q
  1744. YC{l\
  1745. }eVSWj
  1746.  $0<LKJ]fjnkut}
  1747. 7630]
  1748. wbC926;FW
  1749. s\ZWTabvivtyz
  1750. rj[Ui
  1751. Z?HN^k|zy
  1752. 6!:BZj
  1753. Y8SRj
  1754. eWSV[g{
  1755. UOPKC>6
  1756. 7-+*'
  1757. F4DQc
  1758. 0*43.Vn]Uq
  1759. TQFC)5/,
  1760. *,?5AFSdS`cVPHC?
  1761. w~VN=+
  1762. ~L1El
  1763. 9,3lr@0ic#
  1764. j]PBJl
  1765. J7Nqwz
  1766. %.=IJ[e
  1767. 29,gA13-J
  1768. oI>5315Gp
  1769. VPbitkut
  1770. ~ekRDTLD
  1771. P\ny|
  1772. ^623.Onp
  1773. dOBRY
  1774. k[TJNUh
  1775. LPID>95/+*
  1776. <9CKc
  1777.     %*.R
  1778. S?-62?
  1779. -HGDOUN_
  1780. !],*60}
  1781. |ldM<=K
  1782. %.2DSX
  1783. 13,;M2S)>
  1784. LA:2-15z
  1785. dYSTagrsuy
  1786. sgSHECDHI]~
  1787. S?=P\^t
  1788. chjep
  1789. _890/Jw
  1790. LTPHl
  1791. YZOTnL_LQ
  1792. qaWJFLQ
  1793. AEGD?83-,+)('
  1794. >8'BQ
  1795. +2-".X
  1796. K(7EKDRC91-
  1797. PiBELP[ew
  1798. r[O<CsOM^1
  1799. j}kno
  1800. 20:@FNWy
  1801. Q=9u]:/-2
  1802. qCGt3*&
  1803. e=wd($,-*;
  1804. _L=4-+^
  1805. ZTYgp|uyorx
  1806. ~dS0$"
  1807. tfXANBNJEDFD
  1808. GTLHck5?PYWO[^
  1809. `QXZX
  1810. vAHIPUZ
  1811. p\NADy
  1812. [@C>96
  1813. 3BKPZ
  1814. '/6*$[
  1815. ,>H?K0$|
  1816. CNei+
  1817. #H|q3
  1818. {hVAa
  1819. pWH>Ke
  1820. 6 643BMNW
  1821. LB1Kav
  1822. eNCpB
  1823. j]VT9
  1824. R?tU9F
  1825. `Lne*'
  1826. jOB7(K
  1827. s    vx{}{
  1828. zeT6.
  1829. u^JK@IL<?@EBZ
  1830. ZK^bdq
  1831. kYGFC61TFEx=T^wMC[`g
  1832. yHRJE
  1833. ugU=`
  1834. O>=:5.+
  1835. 8=LDY
  1836. #.61,_
  1837. B6:* s
  1838. ;?UgW)07IE=cCjYIyu
  1839. =kQTJ$
  1840. p\;Wh
  1841. <)(29=KS[v
  1842. Xb\KM
  1843. ZE89{tn
  1844. r`9-)
  1845. rHBHD:<?@C?C
  1846. aVQ`io|
  1847. 2@Ldi
  1848. 49171'|4EL
  1849. R\y|EMj
  1850. s><;5,+)
  1851. ?1I7H
  1852. &*07EMV^
  1853. ]L;,/
  1854. 7=7LQP)7DOCP
  1855. 75ELp_Kx
  1856. ihV '
  1857. -735DSdm
  1858. ?3nLH
  1859. zd^c|}
  1860. yRNTZ
  1861. sfNEJwPK
  1862. JY`#*i
  1863. q^?50
  1864. b6,BV|v^n
  1865. O87238:;>?Nf
  1866. qFWfdgw
  1867. ~<;4.8X
  1868. xrprux:2/LXzY_f
  1869. lW{xi
  1870. ZIbRKS
  1871. I@95-
  1872. FGR;*
  1873. +7NHZiy
  1874. '0289ARZGF+
  1875. *.:^bC[W[z2dL~eko
  1876. )Z}vy0
  1877. 8:319IPdpuryx
  1878. sEB@F_o|
  1879. enitDQ
  1880. q\FJ4&/
  1881. ]?1</
  1882. W`]bl{
  1883. [MDB?
  1884. C56\]b
  1885. ~Ncpz
  1886. ec`i}
  1887. FA=42,+(&
  1888. P7NG"
  1889. .1HG;8\
  1890.  !?SMO
  1891. f$>)}oif\
  1892. ogNTe
  1893. uk[P*
  1894. %Vrl^W1
  1895. ,72=N]lpx
  1896. hsqrz{
  1897. qD?6:@U
  1898. ~pmN@J
  1899. rbXC1)!C
  1900. {hLc^3Jas
  1901. ~A(37<6BFHwh
  1902. oULHCi
  1903. VIFTfo
  1904. l=AFp
  1905. <42:Wm~
  1906. ^YMSav
  1907. F;98.
  1908. #"7L45X^
  1909. '%$%(+1'
  1910. \gPTQS2
  1911. H>Y784M^mjynGx|
  1912. ^ohmouomqe
  1913. vH>98={
  1914. _RC74:A
  1915. qpG12*'#_
  1916. vSu8<S0)fzcJ
  1917. ?DG{?8rST]~
  1918. ]MT?Q
  1919. utxj}HoV]l
  1920. gWQNY
  1921. xfTE?FS
  1922. dQ@?6-14
  1923. !%:Hm
  1924. {YF<G
  1925. mhdB,&+#16KV|0
  1926. wBG:8f
  1927. Z904Ia
  1928. _Ndiw
  1929. sekXdu
  1930. bI:-yhW
  1931. n_WYQfpuz
  1932. 7t[=4+3.()L
  1933. .KxGBZ
  1934. '+396=|G2<
  1935. TOIA;9D_
  1936. Z3^YSW;AOvhVks
  1937. C%1549
  1938. 4=TN'
  1939. pUK8b\B(
  1940. jORCDB
  1941. Yw@&n
  1942. 19/:B
  1943. XZ_IEFOTYu[\[
  1944. G^jx{
  1945. sT@0kZ
  1946. fO@CJN=LYv
  1947. ~edNt
  1948. n]@402)()&_
  1949. :de6cX._-@
  1950. E6;7AxD13X
  1951. D0k]|
  1952. n?RKC:AKp
  1953. UHJG|
  1954. F1ST^|6<@WpMdq
  1955. jKIG?
  1956. u]D~l
  1957. bkZdr
  1958. 57@AJYq
  1959. /3OW+
  1960. A-+Gz
  1961. y&)04e
  1962. sh2av*
  1963. zYiSQ`Y
  1964. ?8' M
  1965. x;/3;l
  1966. QUL[k
  1967. rNO`h
  1968. jBGSz
  1969. q!XNx
  1970. v)2SmWG3
  1971. jV=8?)&')
  1972. R{9\|,Y60-p
  1973. W<?=s<2-
  1974. DqE)4=ETQq
  1975. !"CQY
  1976. iDPjr
  1977. oQOJA>Ch
  1978. XJIHO
  1979. VYK]r
  1980. =B;$BjMLdr
  1981. 9PDE9<:Ltpr
  1982. 246)# N
  1983. ~2a]P?Bc
  1984. 6)0)1/pP
  1985. V*4d~
  1986. g{r]V&H
  1987. c]M.*"'P
  1988. ^MAg7e
  1989. nN:51'
  1990. WJh9,1
  1991. lwpns
  1992. l(#1N
  1993. cf[^H
  1994. c=ANWNzjBKEJ
  1995. |gumt
  1996. u!GIZ
  1997. tNP4"
  1998. kW987JCd
  1999. mUY`adw
  2000. u/]"p
  2001. ,?o_*FS{f
  2002. ,15.[
  2003. ZSQ_c}kx
  2004. ea`YOHI
  2005. }rd4-%R
  2006. ,,R?\
  2007. rjv[5;Pg{
  2008. l;./.01rvJ\e~D
  2009. gVC(M
  2010. y>T5?ToI?HB
  2011. k`^kt
  2012. }ytpio
  2013. A,CSp
  2014. aO;?M\
  2015. }dZ^h
  2016. |51-3+#7huiYT
  2017. ~wr{v
  2018. o[Zly
  2019. }~}bY
  2020. nYLHE@EI
  2021. mF1(4
  2022. K5-;s?
  2023. gSOPNz
  2024. i3-01/+*i
  2025. J;O`c
  2026. WM@,(
  2027. r%35Nu[M2J
  2028. v[bE[
  2029. via\`do
  2030. KVmnpv
  2031. V8%,(<
  2032. |"#'"*3
  2033. \,:IcT`
  2034. 3;JMwr
  2035. }^2'q
  2036. O+#$5
  2037. {jR)D
  2038. VMKB4
  2039. cwnqki
  2040. t[G>N
  2041. U;4QVwJ
  2042. VLTIS\NTXc
  2043. 1,./01/1.:5;
  2044. ysmp~
  2045. t8Mqg]?
  2046. f/)2H
  2047. |i`oj
  2048. |1<MT^
  2049. _6D@A>?
  2050. (1Bez
  2051. ZAaOW`
  2052. &(&.4
  2053. r_[`b
  2054. ;/51-BNW
  2055. \95c|
  2056. |yRLTx
  2057. QTWN?
  2058. ~sWJ6
  2059. I?APRL3pMI
  2060. QSTUZ
  2061. /13;62
  2062. ilzMXV\5
  2063. ]bs).9EJ
  2064. c8_W'
  2065.  %+)'
  2066. 132JXf
  2067. 691/4Pbj{
  2068. e[\VS`c
  2069. hM2+6}
  2070. VTQZLU
  2071. k9=EDF2cM
  2072. PRSK[\]n{
  2073. 635678%
  2074. u-87=5H
  2075. WSXZl
  2076. \5kx[K=0M
  2077. VxzW)
  2078. NQLGj
  2079. /,05A^
  2080. C9<5Z
  2081. &CRVE*
  2082. LAIS[p~
  2083. {woinjhtz|
  2084. 0b;(3I_u
  2085. zY851fF,qW
  2086. ~gi^8U
  2087. I;4)"S
  2088. ufGjo{
  2089. JP[\M
  2090. HQes~
  2091. qM;C;O
  2092. BKJOH]
  2093. obW^n
  2094. \90101
  2095. `f`[Y{
  2096. tH=htq|z
  2097. `EG[H^h}|
  2098. qHKTSa{
  2099. 0(4;y
  2100. m43?98,4ah
  2101. m\N@LUco
  2102. evN_g
  2103. dL;(i
  2104. [RXYg_CPWV
  2105. h3;\ERd|vy
  2106. pUuRq
  2107. 7ThG=$
  2108. rUhGKA\
  2109. [g[Ix
  2110. #)&%,(=GP
  2111. T2<?A;>AKh
  2112. qrGEHIO|
  2113. F:80230fw
  2114. A6Kuq}
  2115. slWCa
  2116. 6,7<@a
  2117. jaV15?Bpt
  2118. tZmX)
  2119. TSPX_[TEI
  2120. M/2132
  2121. ^6@DGA@7
  2122. ^@C}{T
  2123. E.MXa
  2124. `gtuv
  2125. WDC7-),;
  2126. fezT076O
  2127. JICUoy
  2128. t?@EIM`
  2129. {md/P^
  2130. mU`ktry
  2131. OLKOblgfegz~
  2132. UCD7-*.:
  2133. 95AY[vHOv
  2134. dip^bl
  2135. uh^YV(
  2136. \|_8Ff
  2137. : *(/0;@=
  2138. \FJDI:
  2139. q07<>:@KSvr
  2140. ~mqaSNQT
  2141. +98CVr
  2142. }xhY?18:i
  2143. }O`f~
  2144. wP\woK*
  2145. hLS[cbQ?)n^WQ
  2146. H5464,
  2147. x;9CA;=70a{483K^
  2148. 3*0PMT
  2149. |Kbx{t
  2150. S6?72,$1
  2151. \KC>?^
  2152. yz?>^r
  2153. jQAEFBY
  2154. YncSQp
  2155. l>EIQwjeqsyv
  2156. S:A73+&0
  2157. YAKCO
  2158. m^P4CZ
  2159. mw`a`dXbU
  2160. n_d/4GTdaU6F
  2161. F(/17BS]
  2162. P?NLB@
  2163. eG5>@KQwj(%'('
  2164. b?GJMG
  2165. s~}b610513GMn
  2166. }jof]SMJ
  2167. v=CVX]u
  2168. lR`edM?._d\T{S
  2169. eL59<96i{F
  2170. ,8vma
  2171. ]~fUPS
  2172. O^fe|
  2173. N6'9/
  2174. -XG78)4
  2175. kbhq~
  2176. [kiySP:Ka
  2177. wiIFd
  2178. tN[J=~
  2179. G#,-2=[3E
  2180. whdZl
  2181. tA5*+38JN?GMUKHFC>CFu
  2182. )<G`/<*)'.
  2183. 5<8a}qx
  2184. j36Vv
  2185. $"%&.5Doa
  2186. z}sok
  2187. {`~x|
  2188. Z0=>DRv?R
  2189. NBEHPWegTPNLKDHFMQUy`.1PvcX\`
  2190. mk6@GV
  2191. lg9A\(
  2192. ]`dF:7+lix
  2193. rI<Tk
  2194. |u[jqvh
  2195. B%2P;>HK
  2196.     .bXQJQo
  2197. aF_eny
  2198. ?U;42'.
  2199. YLpgo!-N
  2200. 0Vf_89
  2201. }|lG7
  2202. 7CS2W~lb\Oa
  2203. uWnBH
  2204. [(_fB<Biy
  2205. QHF'&4P|^Vo
  2206. 67Aknl~
  2207. "!($-(Ilc!Y
  2208. [DEHJPva
  2209. ;5/.0-*$
  2210. Fzwrn[TM
  2211. F/CGNZm?g
  2212. tgwzy
  2213. agj[byh[N*4HJWpjUTYpl5#BvWjUCn
  2214. y-7Jl
  2215. b=CYc(
  2216. VRZK;54
  2217. oZUXW^
  2218. ^?B>@=>74@Q5U
  2219. F#/1Q@?BQ
  2220. +6PO,
  2221. ?D4OFLUq
  2222. >U_^r
  2223. #1A}>
  2224. B=,%1%(
  2225. :/0<Lbki/24K
  2226. ~wW5)
  2227. M1015JS8iocWRJWwrRQvmq
  2228. rF2aV
  2229. a`D=F
  2230. |CLejr
  2231. $(/,Kdi
  2232. }cJ+f
  2233. CLWzq`b}y
  2234. lVXbm
  2235. Y_MIQZ
  2236. %8CG<
  2237. Q0CHOdpM
  2238. uh`jk
  2239. *}zYwhM
  2240. ENqnP>.fnU)
  2241. n*3@}
  2242. zNUL~}xdK
  2243. >    86:U$'G
  2244. VF6FM
  2245. @EC@5
  2246. &$=2FKZy
  2247. s?GVPaw
  2248. $./Pw
  2249.  #=by
  2250. #" $-
  2251. xDPu^p*73058HPW
  2252. ij\.=t
  2253. /?D\y
  2254. a3%<R
  2255. /.27R
  2256. qkZ?)^}r
  2257. k[=FDCEX
  2258. ?&=^&
  2259. Y`[XZ]jpw
  2260. B&/-,-
  2261. .9@E[
  2262. VLjwJ(
  2263. Z;LEAP?AE<\
  2264. ?)6B\t
  2265. ywgUm
  2266. a9A;:57*V&0/\)./-^G2?7
  2267.  23#.+,
  2268. 4<AHMZd
  2269. Y-EFG
  2270. %,/Si}
  2271. KVjf~
  2272.  !"/~
  2273. >8=XB09-06;F@Qi
  2274. Dxzyu
  2275. fLb{L_z
  2276. V4/fk
  2277. '6@Ecuk
  2278. gvW>$^xo~
  2279. 7-'/n]aXY_cjgt
  2280. :&.)P
  2281. jS`cl
  2282. xR=Di
  2283. m?>8:OV
  2284. kH`lT
  2285. oEDT[HT\
  2286. {]d{G?QTU^Y>,=J|
  2287. kqeUQU
  2288. 3;>;>\d*02]
  2289. /-]B/3k
  2290. *+'DZ
  2291. K2?6M@L]jd
  2292.  *Vme#>7W
  2293. V[bp{
  2294. " "!$! $XZ=}*37/3A9>?Ack
  2295. f2EMNCe
  2296. OinLi
  2297. KZFXijoikq
  2298. 3nkjp|}sp
  2299. M-(k[
  2300. y>MXtz
  2301. SzWB _zu
  2302. GDFCFCD@AIpe;lW[]Z\iahfg
  2303. @<>9:
  2304. ezBC(V
  2305. YN9<B?\
  2306. <=NV7i
  2307. wgd`Y)
  2308. fWLFH
  2309. O5SVXCQ)?E
  2310. tV_`TQF_md
  2311. N75;va$+.0Y9,0+aE+H
  2312. C][QJ4ERM^_gs
  2313. jlyvu
  2314. j?`{}
  2315. <e&4.$xz
  2316. QH]ly{
  2317. :DA8"
  2318. ")(%!">-8204C>BD6\
  2319. JGEq/*kb
  2320. NP[ZXt
  2321. eAVkG4J`g
  2322. ~E.8Ssq
  2323. b9/DB
  2324. _6/0rOxwkjo
  2325. s4)WcTrKu
  2326. 37<9?GN`gxq
  2327. c/XG9>E?FDBH`V]W\`mghkb|
  2328. fvQIQI@:z]
  2329. f[FZ[ev
  2330. m1EXmn
  2331. O90&_
  2332. }lh^V\e(
  2333. _\Wgx
  2334. I_KQXIEW
  2335. efjhnuy
  2336. -,-./Ci&.+nH
  2337. ,+0 &)5@9Qv
  2338. ]\jgw
  2339. e[O 9-1{n
  2340. AD`drp
  2341. 54+,5P;%`
  2342. C!<.>twq
  2343. u<duc/5VL
  2344. ~ct`U
  2345. bRD4"
  2346. |71.:oJ
  2347. k4-5]YoD
  2348. 798+1%7OFKb
  2349. '~cJ |y
  2350. ^<?GD
  2351. F%<VW\`VYbxf[|b:DF
  2352. zrqi^f
  2353. tP_gGQf
  2354. _AMWaT
  2355. z6-* 6
  2356. wusb^`(
  2357. DFDTYl
  2358. [_Yiysw
  2359. 1=a".,u>
  2360. 5?-Gcv
  2361. E64,?
  2362. wmpqu|z
  2363. MDc]gs~
  2364. [J#&)("
  2365. ("0748AZWMp
  2366. HKH>#Zz
  2367. Vu_9L
  2368. 7*tR?.8
  2369. :GMO\WZS
  2370. r<HwzD>6<
  2371. K.5,?eS
  2372. g29)>sVE
  2373. D%ARZciehq
  2374. {r}J$/.
  2375. vxsjSx
  2376. E,DQMq:Pdm
  2377. nYQHmw
  2378. pBIO`
  2379. n0*10
  2380. U370K
  2381. S\GIGfg
  2382. _yK8HP
  2383. |{vl]k
  2384. VXV_di
  2385. $&.B5>^m
  2386. =Ozkav
  2387. {|nag
  2388. 5</#Hn
  2389. ywX9<n
  2390. X^Mkmpe{
  2391. FMOQ`q}y
  2392. 2qvpofs
  2393. =CB7Q
  2394. 2{eF@
  2395. ? 02@C
  2396. s]X]o
  2397. 3=)J^h
  2398. e073-
  2399. "!$%" %')O
  2400. oc]_eb]^eH5816>PJPRSMF>P
  2401. lqnes
  2402. F0<T5HhKJo
  2403. viMZ`st
  2404. w{41/5!
  2405. :74-Y|
  2406. RYUIhVim8O
  2407. ghdbX
  2408. zcfd[XP`
  2409. JLJOQPLVX[|
  2410. #&5:^>*-
  2411. '-.0)
  2412. jQLC=Rn
  2413. (/604n^
  2414. NCXqSW
  2415. \FN^iR 
  2416. ^I=RLMVkf~
  2417. [>iu~z
  2418. "#.8v
  2419. JL_/.2/:fJ
  2420. i0.15
  2421. Vhqry
  2422. mbady
  2423. L4?COIY|
  2424. YaWgJDO<GJHW
  2425. Bhc[w
  2426. WCHI[i
  2427. =7:6D
  2428. EGNZR[
  2429. {Oy<2CKI6
  2430. VPQVf
  2431. pMS\_VROKB>=D
  2432. yKIBFDFHSOW
  2433. #:IdqhfdPJN-
  2434. S.NM\
  2435. I>LAH1Q
  2436. %)+%OwT
  2437. FNK_g
  2438. S&*4^xjX
  2439. caNKNIU[h
  2440. @CEJbiog}sxz
  2441. L0*325(H
  2442. ,'Ne<
  2443. k<65(
  2444. mvKP_g
  2445. V.*+7
  2446. wZT_^bVr
  2447. x>NLT`
  2448. k943-{
  2449. ^MQWgPR[
  2450. NHBHZwLOIBDF
  2451. ,C`Wty{htr
  2452. t,DFK
  2453. TKB,.+#
  2454. f`SOWSW]Yp
  2455. E]cjlpou{|
  2456. kR<4.'*(#
  2457. dguc3%&trHfh
  2458. j+*.5
  2459. aF?mw
  2460. UuMEW
  2461. ot~nxbfcLF^
  2462. i3'+1yIc
  2463. ldYMO
  2464. }9BM^
  2465. c[cubRN
  2466. oyL<,n
  2467. qONYTJ}uH?
  2468. |G?Ks
  2469. '0(&8;NPp
  2470. E0JWm{}
  2471. L3%'!
  2472. xXQNG
  2473. U_h_vnf
  2474. vc80($!%
  2475. {q/Dr
  2476. K_qENduEf]a=@_
  2477. kU\HDA3;=;1}
  2478. {ofa[J;
  2479. 9-0zmq
  2480. g\NH?FADET
  2481. ji_K.1.
  2482. GLgRe
  2483. YBNMe
  2484. fTHKHEJGe
  2485. (,9Aj
  2486. 9DFLS_cgt{oukjst
  2487. ^@4&#
  2488. lT<Wec
  2489. Owd;L[
  2490. lM<=<=3<9%
  2491. kG<&P
  2492. %$",*6:40+5-.+'$'+M
  2493. lbKE8?;:<>G
  2494. u01,&2[
  2495. {kfPu
  2496. {ye8'slH]q
  2497. qTiDcbK[|'
  2498. stsogkjYVt
  2499. |XAFMi@<[
  2500. %.3D^
  2501. sOQMl
  2502. {p^V`p
  2503. PAIJQ\^]jrporksz
  2504. aJ3'!
  2505. aOIqi<9X
  2506. vIDT.
  2507. F4<95>1+(#Oz
  2508. ?0%$ 
  2509. _7@?37Ur
  2510. {owv~
  2511. M8612=?C?:BVTGKTVYheiq
  2512. waOC63,/05<=
  2513. GKpLP
  2514. ]30*\
  2515. zornine_[Y
  2516. o`TPLJNV
  2517. FDB=<7
  2518. }|t_R<AP:^
  2519. ban{~y
  2520. rc^cdjf`Y
  2521. ulaELa
  2522. J@UTVcaf^mcpyos
  2523. Q>-% 
  2524. kP^Xaknr-
  2525. j/*)*
  2526. ~}aXm
  2527. j=A:10.
  2528. lZG>(
  2529. KJNRKS
  2530. kHNML
  2531. vyqgfbTV^
  2532. /K^h5Kbf_ry
  2533. }hZT@>9,I
  2534. qTdfefl_t
  2535. vd[LF^
  2536. CJILBRZ
  2537. q5vsy
  2538. .-0.;{
  2539. uiakw-
  2540. fUGYs
  2541. m9'%)
  2542. suyZq
  2543. >/3-,(%$
  2544. qyvxp~
  2545. wbE8'
  2546. JEFU`
  2547. cUni`SLG
  2548. l`[^_
  2549. vihb_ZVY
  2550. %BLumkih
  2551. yz|b[
  2552. B@=#($
  2553. -2(25H
  2554. dqkeg]dg
  2555. hoXOQo
  2556. C:AEMIV[\Zedkok|w
  2557. ncdf_\fPNTVKS}{~}~
  2558. sSKM\
  2559. *3),"S
  2560. _J8,';
  2561. ~p_W{
  2562. F/1-&$3
  2563. ognr|u
  2564. xmJ:(
  2565. VZWDGRt
  2566. {kb]j
  2567. xdf_WXd
  2568. KCEL=8
  2569. A@>=;2$
  2570. "$10?L#!
  2571. zbaB*
  2572. pjyuv
  2573. pbpRo
  2574. zcnofha
  2575. nj_VN
  2576. N5B=@TQUc^
  2577. gqaox
  2578. ZR_e[lJHLUZfd
  2579. f\XVdVKPNKQv
  2580. vZP@c
  2581. aE;Mo
  2582. yilREd
  2583. ycrlm
  2584. wZ@4"
  2585. MTdovldc_^
  2586. jHN=9
  2587. dZdea`]
  2588. cdb]S
  2589. %467s
  2590. & #'%
  2591. yoTmYgw
  2592. dfPVg
  2593. [\dmsnqeo0
  2594. J90<EdQRUkaigie
  2595. PVQOBAOY_cN
  2596. vnpU@)iW`i_cQZ
  2597. vmiaYSF
  2598. BB(# q
  2599. hQqpI6
  2600. yA0>Hv
  2601. g?V[nsql
  2602. tgaip
  2603. dYTPA4
  2604. b[E4+
  2605. c`B<@
  2606. rbrHlQMfn
  2607. _DwVd
  2608. _dgaX_1
  2609. qM-7>c
  2610. +7EDOJ\d_Yc`gamu{
  2611. C%NX_RAz
  2612. XKE;INImZSehRJTLQ
  2613. Qiypnl]
  2614. mp53\
  2615. rI<hB>G~T8C
  2616. xP476Q
  2617. VZNXf
  2618. 6C[efulZ
  2619. ceYdst{s
  2620. [UA+ 
  2621. #(;HS
  2622. 8GBED90-
  2623. !5<@w
  2624. *-(" &,*z
  2625. h7<.()/8<Y
  2626. h}ezcje\RYDC',@U
  2627. `[Snjrtz~z
  2628. Getln
  2629. ]QV\UNM2
  2630. h'.>]
  2631. tsn\}
  2632. 60-/42KGSTNV\T_fnq
  2633. FYQGENPUSK>v
  2634. xs[ab]SXNKX
  2635. x>@8E?ECGFCJCD6b
  2636. Z^oZM
  2637. WqYA7n
  2638. mAbmx
  2639. i)/9M{
  2640. [QI:W
  2641. a@Abikxh`
  2642. g`\]cbvr
  2643. ~wpu^+
  2644. lmapjpn
  2645. owoqb
  2646. Sfkqw
  2647. &"CYo
  2648. A    BDG60.
  2649. '/-u%'156,3-0:-
  2650. QX>A>OLO]
  2651. (&+0/,86/(31'
  2652. YbYNkV'<
  2653. PAEH;>2
  2654. _Zbw{
  2655. gnKA3;
  2656. 1:07F;_T]qrs
  2657. E$FKN<x
  2658. ei]XPRMHJ
  2659. }qfwuaQ^vl
  2660. "!"%)%"+(&",( 
  2661. j{HKleCXs
  2662. pXH:1;
  2663. :|NQ\mg|
  2664. &%"`cF4*+
  2665. T31=[Y\kpw
  2666. biahvi
  2667. ^_f^XVU
  2668. K7BEHMNJEQOLC
  2669. w@7/&
  2670. ueMBJ
  2671. zprbvnauoT]
  2672.  w"!A
  2673. AC@<52/
  2674. *+5=ADJ<B:I
  2675. miXMFP[Qj
  2676. F8*COXv
  2677. #nP)(*
  2678. qc\[SY_
  2679. J?:>8:2
  2680. 0@uVcSgf{
  2681. *.,4g
  2682. UIFB2:*,&./@R
  2683. MF8=?FG@DR6y
  2684. ljXQJMNJ[
  2685. uohYT`
  2686. UQFGy|s
  2687. gk[c_Er
  2688. }lH<71D
  2689. :mO]S
  2690. 9EW[cfof
  2691. ywscl\]X\[o~
  2692. ~rtw}~tx
  2693. ~b{u|
  2694. _ACH8624>@A
  2695. 7A?8<>B@f
  2696. ]QKAW
  2697. i bdmgcq}
  2698. owfW=C
  2699. kSKMWXT[z
  2700. BGD?52.
  2701.  'FKm52AZOJEGEAa
  2702. ~wsxs|
  2703. *X@.EObs
  2704. @mr)"'0
  2705. zongGQY
  2706. h29:4152
  2707. IN]iTbl|
  2708. S]IOG=
  2709. 841@Ma_ry
  2710. QJHPLU
  2711. lxvoihkfl
  2712. f#rcb[Z[IG=?7D<R
  2713. QUSMEV
  2714. q]TA<=b
  2715. HP[d]il|o
  2716. A;@Fa\`q
  2717. zqljidaq}
  2718. o8bd_mdy
  2719. NQD=@860:8?49:5;>218485=Y
  2720. xoWQRw
  2721. *9PY^z
  2722. genp^kp
  2723. v]TRH9b
  2724. hQMPQ
  2725. @ECESF>/1(
  2726. "MS,"FO2    !:
  2727. d04"Y
  2728. m5A/b
  2729. %2HQ0Edkjc0
  2730. '$8>30'
  2731. $Xgi~
  2732. u=>=IELu}
  2733. 20475:195?PSY^]r|
  2734. ~wfX_T^Zd
  2735. Y`eU_\UYTHNGE>JON?6L9
  2736. ,5-.6+A/:I9
  2737. KSWomwqrs
  2738. y%{ywjhTJG@H56A=5=1:?9598D>7<KGFC=DB9-VL
  2739. zntkvsgND;s
  2740. zk=9(
  2741. fZG&m
  2742. |xdZu
  2743. fcgntu
  2744. P!+(q
  2745. YXac]dW`]hz
  2746. ~r|spksyzi]td
  2747. LTNR]QdS`m^WUp|~
  2748. &zqlhn]^hd\hXag`\c\jc_bqkge^mf[S
  2749. AVcl`Z
  2750. 19HLMcvnk.
  2751. "$0>92
  2752. 6IG@B,&
  2753. >%;etF%.?U
  2754. K1OKLU[e
  2755. dV@An
  2756. %0.+E?B9GSP[Winx
  2757. mag[adg\b\jgpWZ_MYRS
  2758. IG<9>ELO,3=9
  2759. 7-,013626?5:7Pfe{z
  2760. |uwdPK>F75J
  2761. N1;>,.6=@B:AG<CKE>1'2?ADQN
  2762. >":dyU*,9R
  2763. !x)*k
  2764. vodjifA5Ks
  2765. rc56&
  2766. fZI#q
  2767. z\olnx
  2768. IT6!'/\b`H
  2769. RLMXPochbp
  2770. z}|}rqe`jpwyU[ca
  2771. WMPTVYXV^cW\Ww
  2772. xsgo_]qXYyXcf
  2773. naeokhXM[fikz|
  2774. rF=BP[
  2775. YMhJG:8`
  2776. blpWjRXHA6;8%-'
  2777. ;`qxyl
  2778.     0mf]2O
  2779. ~:>BNVrk~
  2780. &!9:9?@FITPXrxi{
  2781. hi\_ZQYWRDOXUDBK
  2782. AEI81
  2783. 9@C;8<-B=C@MQ]rw
  2784. wx]SPM]WQgah`M\[YWJBK
  2785. @QZ>MP:3>845
  2786. ,nfZ8Mu
  2787. |nr^S0'
  2788. kjJ8-
  2789. hbis{
  2790. R*,MJY(
  2791. ID_a]ehmv|z
  2792. ipscZ
  2793. Weh_ZbRjcfbrw
  2794. risqtgv
  2795. ftwcYc\]`
  2796. glhg|
  2797. Q;431!
  2798. n)68{
  2799. u[e~'N]K
  2800. wxkh]_ji`H[Z5E<#
  2801. -;<Sr
  2802. odWM8*(%
  2803. #'"9>6-6<-&
  2804. BhudC?
  2805. HCH[b~z
  2806. qR)\^5p
  2807. $*8C6CFQRY^e{|w
  2808. tmnoej^_\SUPSE
  2809. GMFSIAH?MC3
  2810. D"42,(/;<JIO^gx{
  2811. pficad
  2812. rykioejwh\G]RHXMLRPLC
  2813. >dsiG@
  2814. zpmVI(;
  2815. mc]LQ
  2816. fI"[iAz
  2817. !+2IVc|
  2818. EN]iXlox{
  2819. xzuxknomtkxmfpjxm[
  2820. egVTPLSablgq
  2821. w    qibaSak
  2822. {g}xtu
  2823. 8 %>t
  2824. RQ.*)I
  2825. Rae(A
  2826. wsrtgm
  2827. gUK4,#'
  2828. odSI7
  2829. /57BS[KOROF8
  2830. :! SvqZ^
  2831. vUBGR[
  2832. i1/0XjDc
  2833. t:0<8,e
  2834. 4.>HIUW][bq
  2835. }~wvs
  2836. =?LTA?JLKAB<
  2837. 9;<CHEISXW{
  2838. }ysmvw
  2839. {i`^LRTJ
  2840. UMH34/FK
  2841. t]T5MTbw
  2842. + YxKv
  2843. GDLRDy
  2844. wstoxzbcszgdmru
  2845. d\][adjl
  2846. sv|o{y{qjVXTlu
  2847. i_Fcuohjz
  2848. zq|xiK<0/#!*
  2849. pnrPCBE[\G
  2850. kc|pYkS/
  2851. <mrbe_#
  2852. |9>B]i
  2853. b28.\|_hur
  2854. F-',5e
  2855. 7*B=B[Wgd
  2856. w}xpfkcPXZ_O9NGLIJE@ODC6
  2857. 367AHAL[JT^bc|
  2858. qbU]`Nb^QYR
  2859. wh]A2"g
  2860. }hto 
  2861. ]/5&]
  2862. T?A@Gw
  2863. ZNgbg
  2864. v`tnqomhetlmY
  2865. WZ[fmjt
  2866. lh^hq(
  2867. !1=Eh
  2868. |{jm^S</*$
  2869. %DHnlx
  2870. sg:8$
  2871. DWibZ
  2872. M;=KSan
  2873. rD9;r\wZT:Q'e
  2874. <8MW_gYpw
  2875. jef]lmdx
  2876. tphg]LO@KMF@LFMKNWXT0
  2877. 84?JG8]aZmo|z
  2878. yrlhfevia_IS
  2879. ~DSbc
  2880. zuXE;U
  2881. Mkrq.
  2882. uadn{
  2883. q<13ph
  2884. tX6L&e
  2885. rwfqrlfqjpns}
  2886. XUbmj^
  2887. kujk_
  2888. mXNQ)
  2889. yz{kD<5)
  2890. !>LInz
  2891. #Ixyp`
  2892. jOW\f|
  2893. ~IGK:umYLV?;7c
  2894. 43Kchdbw~
  2895. Zmbfcf\XZMGMy
  2896. hd`UTMKS?>8MWYLZJW(
  2897. 6:DFTC]OZqt
  2898. |tpSfp
  2899. KIVS?9
  2900. xco'D
  2901. 0\Zo.
  2902. }FCA0s
  2903. ubaV.%M
  2904. tpyfe]r~
  2905. {xbIV
  2906. _aPO)
  2907. +BLS~
  2908. dSH568.0.#!" 
  2909. #1VBFn
  2910. ?aeGPZ
  2911. YQP=zgcQ^?AWZ
  2912. X)}U5
  2913. ?<O[Vrw
  2914. ^ifn`WX]TRS^c`
  2915. usd[^PJKMB?CECLFKQC=
  2916. ID@TRLNWps
  2917. ~ng`nY\XfYUA/
  2918. UO\r-
  2919. |ZOH/u
  2920. mc?CO[
  2921. a]q|u
  2922. vhkeUT
  2923. klhrkpvjc
  2924. ihcvuqrv
  2925. |e[Y)
  2926. wxnKDN90&+/=7)
  2927. ,;ITab{
  2928. JmZka?}WLIX?5"Y
  2929. DCNPfx{
  2930. W,Ta_bfhgq~
  2931. }i[MJHMAGJCJE;8JKO0
  2932. S?OI[p{
  2933. x`_[][nbZ^LI
  2934. a7AN7;F`
  2935. ft`dX3zk_fa:3
  2936. &qk_SNOK@;<?
  2937. trpuiopislb`
  2938. rvztsp}
  2939. c%H.:
  2940. c3;=(
  2941. }`US8
  2942. =    358<"0&!
  2943. $9E\gf
  2944. 2[tj<
  2945. dMQlS
  2946. ].q`HB\=<+\{Wr
  2947. 1cNb>
  2948. DESYkv
  2949. xOR\nqku~
  2950. GF?K?
  2951. <;?G= 
  2952. USAUMPcn{
  2953. sdf`gba_aZTS
  2954. b;BGKS_R]
  2955. epu]yS$nx`_`?=%_
  2956. WZbs_\
  2957. *+3')XgYRHLIHGCGX^OUO@Ui
  2958. zmlnoftcjiedfngK
  2959. yzdxou
  2960. r'uJ97
  2961. [14-4.#
  2962. b[a1?;5,1=%'
  2963. $A@izd
  2964. T=l#J
  2965. }[`uC\
  2966. c)H4qWNT`GF,`
  2967. lSsy,SjRr
  2968. MGU^m
  2969. dT_U`
  2970. wQWc^y
  2971. pTNHV
  2972. TMFC6>EA:/51
  2973. YO@KWYes
  2974. riajgaVQ[U]Q
  2975. pD0/^
  2976. hEHNI
  2977. rdltg`@+opisiLD'c
  2978. uS^sR0
  2979. d[jpE&
  2980. =kXL=H
  2981. MJE_[V^PC3.2K
  2982. {unm`gmh`U_Z
  2983. |tao|}
  2984. 'X23%4(&#
  2985. '?RWutz
  2986. h8CKp
  2987. kUOY>@:@
  2988. yuxvg
  2989. [SH_gfo
  2990. gmikefhR\L\^
  2991. hB?=l
  2992. uUW^Wc]y
  2993. YrlhjXnz
  2994. g-mZC76
  2995. t}i_<h
  2996. -nzv|p5.qRGDMPVU[ihtx|h[EL
  2997. t_X\Z[JN_^
  2998. 4+1+2:f
  2999. <Zhos
  3000. f#uacO`zx
  3001. X    TSXp
  3002. XHV_er
  3003. i    kl]_Og_
  3004. zm\ALIARQW_v
  3005. \cnWF?:
  3006. ntrs|A)rOEq
  3007. |paHN
  3008. YQCW{s
  3009. xe]YTZX
  3010. ,q;B4/p
  3011. o$ED<B<;?t
  3012. :hrli
  3013. ;^oYj
  3014. eM^K@AO
  3015. u$xu}
  3016. hNMUVS`|ju
  3017. Y\Njm
  3018. z$/,#
  3019. vjkxcqdZXd
  3020. leCHLF@CJL^Si
  3021. :a5497@J^s
  3022. ir]D;E
  3023. gW@56Cq
  3024. q4?yZbo
  3025. mdgntrJ,cQF
  3026. yfl[f
  3027. }nQ9Y|>
  3028. TdbZRa
  3029. }h]XTaefZJRSPKJQXz
  3030. ,m8?65#
  3031. "fpmdNT;
  3032. {]LS^
  3033. /EfYwo
  3034. rYUB+
  3035. rJdRPIK
  3036. v1wkz
  3037. sk\FQdsvx
  3038. Y&SMaq
  3039. _]a{z
  3040. [B20)%
  3041. q|}zlukljaX_
  3042. ptTHKGJBG>C>LU`vm
  3043. :c457;IYk
  3044. i=-+W
  3045. ]0BmV
  3046. yri]gT2NOK
  3047. tmiaXNO
  3048. Q`[aksz
  3049. ca\Z\]H-H
  3050. ,j=?40+
  3051. tWQMA7?<
  3052. 3;O[e
  3053. vR@9%"
  3054.  8<S[e
  3055. u:faH
  3056. }f\q_\
  3057. :35_v
  3058. +cf{tI1Nm}
  3059. VFBACDCFCWs
  3060. xmURH9-
  3061. io]F1)&
  3062. mcjwmqkf[MU
  3063. j/`aP
  3064. {e/-,4
  3065. :;=68Hj~
  3066. :a32>?Hp
  3067. ~^RDy
  3068. 5-1\w
  3069. r-ITy
  3070. |P>BJ
  3071. srstvuxw
  3072. xj^a^
  3073. yh_ZO
  3074. zu\cbci
  3075. ,h9<-(!'.1IO
  3076. }haX|
  3077. J*&Po
  3078. unKB4'
  3079. 7>Man
  3080. /PWrtxI>Bb}
  3081. 6%.2=:?IB_
  3082. r`\D605;?
  3083. zlQ=4+
  3084. v`\oroqZ\OHZ
  3085. %&<BQjw
  3086. uXjT^
  3087. /3/5=58A=<F
  3088. :e26BQX
  3089. U7KX|p`z
  3090. ]_miovu
  3091. vjbgkj
  3092. rj`Lo
  3093. uxkdz
  3094. &4<hv
  3095. _XS_ic`jok]
  3096. ,c:;.
  3097. %#=ARhu
  3098. N0:B@R
  3099. uyEBN
  3100. rqG35
  3101. ZGPLt}|
  3102. D:_ap
  3103. [B;31$%+36:H`
  3104. }sp93D
  3105. znfGD2"
  3106. iahmk\^eHK
  3107. ,3547
  3108. :e37GRg
  3109. 8O?M[rykg
  3110. kd^]RS[ceg}
  3111. hcoy;PX5
  3112. zvhUNr
  3113. ^deadkiqt
  3114. ,c8:*%(Q]qy
  3115. yeX3R
  3116. }ZmR621
  3117. `|hA;a
  3118. s{zX>(W
  3119. sSDS1
  3120. {vV3-#
  3121. ryq[O)G
  3122. `NB&$
  3123. oj_jhgNX[\M
  3124. G?I[q
  3125. sEVvnX@
  3126. :p;A_y
  3127. G5.T>NYhx
  3128. wYpeBa]7
  3129. ~vZVI
  3130. ,Z181G]
  3131. tb\ZGe
  3132. CJ8"0%
  3133. }lQJ9[
  3134. gS8+q
  3135. dVZA,- 
  3136. G2=4O
  3137. Z0&8A|
  3138. `dPB/C2
  3139. M)Aa!
  3140. cEUwx
  3141.  ]ENr
  3142. uhNC.P
  3143. taJ+&!
  3144. r}mhfel`hmVa
  3145. xK3Ie
  3146. :{LJg}
  3147. J;*bEKTiZt
  3148. |m^xhB\W2
  3149. ,`",=P_
  3150. b>EKBu
  3151. +20Eg
  3152. 6=85'
  3153. wW_T(3'
  3154. &:CjxX<
  3155. SAI<*H
  3156. WZC8(=2
  3157. {$!"5Nu
  3158. ~[F0)$b
  3159. {|pVt_ZgijSY
  3160. ckA:>:l
  3161. E9.]IOThGi_VYl
  3162. `JmS6
  3163. QMST~
  3164. 0GMEJ
  3165. ygT5i
  3166. }r]SD,
  3167. s^G)_
  3168. |f5+)
  3169. gbc^Z
  3170. I<6DWKN\0p
  3171. pguS_MIQl
  3172. RCH.UbZ
  3173. niT?s
  3174. wk\@)"
  3175. BD(HZ
  3176. `H*C$y
  3177. g^J1h
  3178. }ohYa\[I
  3179. ?F.f`
  3180. uyop}.
  3181. J?7<dCLY1v
  3182. ^N<Qt
  3183. m|v84lkdZ5l
  3184. VHA+3Mn~cH
  3185. ~ylKC~
  3186. ZG@QJ,Uut
  3187. L '/P|d8$
  3188. vm_B6r
  3189. ul[bZbO
  3190. pk]{t
  3191. GMPhlwQNKWL(Pjk
  3192. yaEfi
  3193. hYeno.
  3194. a:01n=KXCn
  3195. yjbH{
  3196. |eYPy
  3197. gXqd8
  3198. }hb}Q
  3199. 0/?"(
  3200. ZXTGUR|
  3201. {\q^2
  3202. +-LHJ:,
  3203. n=0-=^f&'7w
  3204. wutsr_
  3205. h`_`R
  3206. X\Zis
  3207. SNG;LKq
  3208. ze{[*,1
  3209. }^Qhp
  3210. rUTwQ1HWPn.
  3211. _9%[}d
  3212. t_WyL4RkNMRefd
  3213. mABENQAIR|
  3214. pNGRU_at
  3215. wdJ*$)6=Kt0tP
  3216. h6&$+9
  3217. _VKpsT?Y
  3218. po^at
  3219. mcEF?<~
  3220. Ak69R
  3221. dI?QN
  3222. {[^`R[
  3223. ^HtxbDB
  3224. J&PUp
  3225. k^\Z[a
  3226. W1Mce.
  3227. ibMTQ\
  3228. @gx+O
  3229. :=n[4&:Od`GSr|}wv
  3230. zVDOW
  3231. iG<>9@NLKF`
  3232. W>_9\3O
  3233. c?%-s_JRCcme
  3234. }]Z5B
  3235. `@5Hl
  3236. Cd]ds    
  3237. jpx`RKXn
  3238. zuxzljmc[P
  3239. MKC?B
  3240. ^YZg{
  3241. V9e<e6P
  3242. \9"1|UEN?T^Y
  3243. sVP7^
  3244. :-7Wq
  3245. 9.+Gpr]LSX^\g
  3246. SPYfb
  3247. PECHLYhq`QR|
  3248. fVE9Tz
  3249. ISixlV
  3250. "*."&
  3251. d9_QUN~
  3252. [elafl
  3253. XHDUhx
  3254. bnsefbiaZH
  3255. Z]ICHSENL
  3256. #!9AK
  3257. a_i^I
  3258. V[]dly
  3259. YadWX[
  3260. s40*e
  3261. gAR^.
  3262. ?72=I^r|}gUVekL
  3263. &%OspjW]fijr
  3264. @sL0T
  3265. \1)#s
  3266. <1w|qk
  3267. nC=>QU=\
  3268. ,'&'+$ !*
  3269. c0`Q<HS4p|
  3270. SV|GT}7
  3271. jKN6=
  3272. 6>LQ[
  3273. KMVYcSIRXOH+
  3274. MAPNSOQ
  3275. ~hZbP
  3276. sF|cTjOU
  3277. /1>KX
  3278.  @TpQ
  3279. H4AFGSUn_\W`
  3280. {se\O{
  3281. Vs{y|
  3282. iNx~usoptvr
  3283. #FVgt~
  3284. U# Os
  3285. rsf?'+.8Nf
  3286. 47x`M?- &O]x
  3287. j[afURdJA,:w
  3288. gK2?OYz
  3289.  CQe^
  3290. xjYZw
  3291. _59ACGRCBGC@>-
  3292. ^_Z=<e
  3293. eV]_VKdSTFM
  3294. lK-8HUw
  3295. {;?ECLNhg[Wc
  3296. ot]PYx
  3297. vidkinwporolib
  3298. Dbgqu{
  3299. G}.?d
  3300. xVEXp}
  3301. ~lVSghb=Wz
  3302. ~BhjTM61aeqvg[SMa^
  3303. "QsdrOw
  3304. {\V:?R>C<B4>g=Z{
  3305. 7/=?l
  3306. i;9@><D68B
  3307. \Qb]f{
  3308. g_U9>
  3309. }`[CKZEKG]JM~v
  3310. W\ijv
  3311. {NM7v
  3312. 38/-'
  3313. E=]ju
  3314. a`JF^H
  3315. idgdcicaja^WX
  3316. *48AGNX[YT
  3317. UROUR
  3318. iZRTf
  3319. zS^QTDO
  3320. aT=GICJPV]
  3321. C)(2)
  3322. ^%V.(E3HQeq
  3323. k:#7=N
  3324. s$#"-
  3325. >z0+%6\<
  3326. gcsJe
  3327. IA)0(}
  3328. tokitn4"*")'"'$8
  3329. |tmg]
  3330. g]U:=
  3331. ~LKLK
  3332. Gy^VJ\
  3333. v3&$:
  3334. ~ydgT
  3335. Vjki}
  3336. akOwM~B926F
  3337. YLULRNLOLd
  3338. iH=63>J\
  3339. ym=.,;rjpsN;$n
  3340. R)"!%0E
  3341. v^eMI
  3342. |Q4.+.;N
  3343. ~YLUVXhzs
  3344. Gan]Tjr
  3345. qd]So
  3346. {wmVK
  3347. kg`6D
  3348. Ub*#!x
  3349. y`YTQS^ks46[|z
  3350. jH;@?<964,+*-
  3351. zse]f
  3352. 9&gec
  3353. Q<B`69a{jig
  3354. GH,&%$
  3355. "@CQS
  3356. hA4-!
  3357. ~.9$y
  3358. T@/!&
  3359. gfcnl`b
  3360. }hVWXZ^OUN
  3361. Th^VZel|
  3362. ,GLUas
  3363. zurkr
  3364. {xkWQ
  3365. {xoa`
  3366. LD@=;
  3367. ucTXQIFs^526<G
  3368. i_[>72./-<r~x
  3369. MQOLHIMG
  3370. ~_BI_G/3]o0':Yk
  3371. mg\^7-1
  3372. nG2*0
  3373. *D*-+;9>DRi
  3374. }YL8,
  3375. YD71,
  3376. hkn_}
  3377. }{i^c]ZVRMgbEKUR
  3378. ZdRY[UIn
  3379. uVBN]f
  3380. Sgd\SQZhx~
  3381. UQ?816,;XC"# 
  3382. yvk]RI
  3383. ~6=:6:81h
  3384. xid`LIG{QTS_n
  3385. {sRID5/36BJT_
  3386. dcdaYWNC
  3387. zve\UYP`xgLM
  3388. D@?L`
  3389. rokXt
  3390. BtnJfj69
  3391. 9;C:k
  3392. SjdJ/Cy
  3393. sP@;<"'$
  3394. 4CYsj*<F
  3395. ",:$#
  3396. fgbK'
  3397. pzqVy
  3398. P3;,w
  3399. aIA:7
  3400. `    WLF
  3401. WUGQgV@}
  3402. U?WNWYe
  3403. onvYULD;64# 
  3404. |mbc]T
  3405. iNXYa`vlhmp
  3406. g19849@40
  3407. |uniNT
  3408. P(<7;BJP[
  3409. {r[elcZE35;7+l
  3410. Ldonpmw|
  3411. ~qia[UIF
  3412. HOB=6
  3413. smzpnjxqihjqnhmw'
  3414. h^i{oH8(+">
  3415. FmNwV]b8AKi{
  3416. V#38;@BG>
  3417. UnUA3%z
  3418. jTI;6*,*-*,'/7
  3419. OZ84;E
  3420. _^f`TKH<6!
  3421. wndP7&
  3422. |IAC]
  3423. $)!-%,*1?KZbkE61=
  3424. s^ODJd
  3425. 2=JO\TaY]r
  3426. |ikws
  3427. }&vd`
  3428. }nra\`l
  3429. yWEMSNLVKXZ`k{
  3430. wng\b
  3431. [05:7<830
  3432. |njhT[QaW_\es
  3433. Z^Y?A>BY|
  3434. jmhb`a
  3435. WA:)u
  3436. DQ]gws
  3437. vnuvhde
  3438. `a\[b)
  3439. q?CQ<
  3440. \H96/
  3441. gRNEC=39=
  3442. 4=:KNRaK:;5
  3443. jh`dR<3 
  3444. ZF>;:3.4=965?LScet[A8)
  3445. =Ne`UNeigu
  3446. uklolput
  3447. G9<Qg`P6%S
  3448. ePVML
  3449. c<I7<C9>HY]u-
  3450. ]6978@64,
  3451. yqnmd_gqlihr
  3452. tr^GFBVpol\VOKV\SZMY
  3453. OmR_Vc
  3454. Pbzyoh
  3455. waOq^
  3456. z^Nbjfb
  3457. mzgb]WRVUMZ(
  3458. ^c]MdM
  3459. O,3<A8BA8
  3460. gE@O/
  3461. ]MFOX[^b[W\XVKPUZb}^.&)C
  3462. lPdJ'3$
  3463. S@;FLORZT
  3464. V    U^aioxu
  3465. |xrnd
  3466. ;GAPJMamn
  3467. ecbhpd
  3468. k!{oSPca
  3469. hypeo[Q^@
  3470. _oz\h
  3471. FJKW.
  3472. ;6?9>A;
  3473. _Dv}]
  3474. STGdMWTi
  3475. L\Vibh
  3476. sZSRg
  3477. kcapmje^d(
  3478. ST*137
  3479. @_9k}Y
  3480. TURUadfj~udi]
  3481. q-'+/
  3482. @6&#'
  3483. %,-4]\/5L
  3484. NJMQTYafqpehnt}~
  3485. |5&.2
  3486. JXRfh
  3487. `C?CEGclr
  3488. e ol`aidbQ\eb
  3489. ~zovsnqmhfU
  3490. Zb|uD5f3B
  3491. R9:<?IGS/
  3492. bQafCZf/41:A[
  3493. jhMdOJS
  3494. vXRX]b
  3495. mS^hs^
  3496. YU_gechj(
  3497. 9^myup
  3498. b:#/P
  3499. ufd[}|JB;<
  3500. MNZf^eik|ruxhu~}
  3501. h&% 5h
  3502. bfYG$
  3503. +54(6D
  3504. IGR\Z]bfu
  3505. y!%&.[
  3506. pXWT\l
  3507. b6=E@AZ~{w
  3508. d$cgbn`Ohr
  3509. zycikpibh`P:F@
  3510. kRP+N
  3511. aSg\L>]9KB`
  3512. \WXbw
  3513. [CAIWVDZj
  3514. vV^J/0C>G
  3515. hlQcJQ
  3516. xGQZW\z
  3517. ^X_[gax
  3518. ^a`dlm
  3519. SgYNn
  3520. |@?:<
  3521. URadVlpstv{}s
  3522. (+6OMd
  3523. lL-&- 
  3524. O,Skps
  3525. hFlhGB
  3526. ?)1#=
  3527. TN[^Zehuo|
  3528. 0(,>SY[f
  3529. ?O:@>1kfct
  3530. ieoWZ]b^
  3531. jYL8(
  3532. w    {eQ73*
  3533. uCRe_fw
  3534. QeNXTG
  3535. }kb^_gla
  3536. tlGNzle
  3537. cEKHM^
  3538. 4,Syv
  3539. n8ISO>:;3
  3540. ZSe`bzjdsu|z
  3541. !$&$+@K
  3542. \:06*
  3543. UTgS|l
  3544. LWwM80\C$J
  3545. ZUe[`odct
  3546. %052:U
  3547. A>9L?>i
  3548. lnbVSRd`X_\^pJ@
  3549. dUMG+T
  3550. OCq_YC_
  3551. _0+?O
  3552. {jXB48,
  3553. raYNP[eniq
  3554. J[rvdQa
  3555. RPNdWV
  3556. {dQ]Zitd~
  3557. Y|WFZW2[
  3558. oC9N_
  3559. /@z:qm
  3560. lM?C?740
  3561. YKecmpmkox|
  3562. ~lK9*-(*
  3563. DG\k Fan
  3564. H@vQF0A.3sx
  3565. ]R^_ajl
  3566. pO?30+04CHi
  3567. JH_l4bpt
  3568. B91:MLVagy
  3569. opma[RW`SUYNP]F<
  3570. aRKBF%h
  3571. spY{ky
  3572. uD@75F
  3573. i[bi|_]R
  3574. {v7E^yv
  3575. TKDNijs
  3576. {z|qs
  3577. W/fts`q
  3578. n>UtFs
  3579. lC+%1o
  3580. V>YGh
  3581. \39<4G
  3582. QBXdgdflz
  3583. s~v~sm}
  3584. "}ndZaEB6^
  3585. L&0Lk_pN
  3586. J89A9:L[U\1
  3587. VJK]bY^bjsvnyvt|t|
  3588. xtf][z
  3589. Q*8_yjuJ
  3590. G1-:GUPQ[h~
  3591. wyfVRTbWbZTQN
  3592. R@H:B5.&Knx
  3593. /_|bOHV
  3594. ;<;7e
  3595. YD@Ras
  3596. ~yvs{}ui
  3597. xsaVXag
  3598. rge^s
  3599. 8<95n
  3600. LFXPQbiZskmjwjrc
  3601. x    fUYA@</Uz
  3602. xR5FYmc
  3603. #7B^~v
  3604. VpgJ43P
  3605. ECA@\a
  3606. SLJLOW]Tf]fbjermsopz
  3607. ykoj[ZY
  3608. fK`s~oda8
  3609. +6?SMRUVfs
  3610. xw[XW^b\^N
  3611. SNSU7
  3612. QKA;BE+4
  3613. UY}bPC|mi}
  3614. ND84f
  3615. 7<>Voiryw
  3616. rtrvsz}b
  3617. mdbQXZnqrc^
  3618. GHTEOLQ[hi_\qsw]Mlipdt}~{
  3619. d_Q<24-<>
  3620. y@dtk
  3621. _fOFL/
  3622. {zlYd`w
  3623. og;cgS
  3624. bF5;D
  3625. IFOEKDIJ
  3626. d_[kinpv}
  3627. pwlZ\WSPI
  3628. gopmYVJ0
  3629. *)/[S[^Rde`l
  3630. Wgc\ZKWP]SMRB
  3631. Q=?6HL7{]v
  3632. }_OEocwo
  3633. nge`mv
  3634. \OA;5
  3635. yu{sztxz
  3636. 89Awou
  3637. fmnY]`i
  3638. upnky
  3639. ,ihfe\R[y
  3640. ~UPtqr
  3641. 12574
  3642. A@B9JH>O
  3643. V]`acPUbZY_l
  3644. |yXG;:-,-?
  3645. '6FYdej^[WA<E&
  3646. ?G?el
  3647. vaYfXYNSvj
  3648. u\nYF/:=
  3649. Aa;G}
  3650. D9B7BC;
  3651. CRUWXQOT_^_ejost
  3652. nZUTH?7P
  3653. @MYhv~qga]FDC&
  3654.  )3[WmZY_Sh
  3655. ZVf\XTSTV^g_M:
  3656. VQE?9@s?2}w0R
  3657. vd?Gidyv.
  3658. UKFKI[
  3659. qZJ>Ej
  3660. qgoepriu
  3661. -7Evs
  3662. smYWY]hc^
  3663. ha[^_n~\
  3664. xbCLW
  3665. a,.309b
  3666. 7-=4/7>$@7EK@K
  3667. D9;S]V
  3668. alrs~
  3669. |vrM-"'.*
  3670. -8GY^XVYI=
  3671. BKNU_hZDGL.C:6+49HE8Dhv
  3672. ,=QpL8
  3673. znek81L
  3674. mreR$#3L8&3
  3675. 7AS$>Q^i
  3676. rkxv~
  3677. mfgYgtip
  3678. eNJq{
  3679. K7H?39@3?8JK;?AIB
  3680. JWN^fnqx
  3681. xV2)"*!
  3682. *9Q_`\ZUKEA<(2.
  3683. u3E2Qfkjal_i\Tohxwu
  3684. vpoubmbZbd
  3685. _\i`\RNTcRPMB
  3686. I)OJTh
  3687. }hxm]en`mew{fmlxqklx
  3688. c[RVKIK[h
  3689. zvphR`[C
  3690. ~EZEj
  3691. Y9ZPl
  3692. w]sotfq
  3693. ;+7/;.9-/+/8929'+<AFXW[^n}v}
  3694. ~{ZF5",/<P\]ZY
  3695. TGI=9:9>0
  3696. '"*06UR5.805(!2,1;:?AS^tu
  3697. 69gp~
  3698. Lx@EY
  3699. eWJ.(.3GK2
  3700. AS(3DTa
  3701. k_TKH?1HWBKo|
  3702. J9E?=58-
  3703. 7 04./8FCQPVWdwnt|
  3704. @HOQc[T[IDC95
  3705. O2UcjhSadUVYROPa_zn]^aXj^XiYgpjus}
  3706. ph]OUhcM[
  3707. WLVTbXFM?
  3708. c1BKO\^hz
  3709. |nWON:dy-
  3710. yjuoh
  3711. XWY]ac[_
  3712. X3dvp|{
  3713. uhNRQqw
  3714. {upgb`ceYJ
  3715. Qegn~
  3716. yz}qzw
  3717. iVZ[UZ
  3718. kNeiu
  3719. }tsK|
  3720. E*D:;7<-3
  3721. +:*',&=,=RXWa
  3722. _eZ@4Tes|roeYRXJ<>823N>'
  3723. #8IC>[QZsdk^5!
  3724. /C>Xgv
  3725. vCLpw3g
  3726. )smhVK;/-',J2
  3727. (AP&*8=\
  3728. }qcMfln
  3729. rgEH46
  3730. 9'83<R`q
  3731. L7I?=9:/50-'9&(*&759ENOVhnlmw
  3732. {}fbU;?L_geY[VDJD<52/,+>3
  3733. 8[afgUfdsr^OQPS^UOW^UN\MW`_fihchp
  3734. \]TYTYRUWPTQPWU
  3735. =7@I\ed
  3736. taUQ51U.
  3737. vw\Zb_ry
  3738. wjfaSz
  3739. yexnjgeYa[UOePSUOb`fr
  3740. u{vmcb^YWmdP
  3741. vo|nw
  3742. x{}v~
  3743. {lZ`]dxU_cj}
  3744. rsNQv(
  3745. ufkpr
  3746. #$%#"#
  3747. -(!.:8+-'#
  3748.  &(*-.2/
  3749. 3936+    
  3750. 0$45 
  3751. "#!$*
  3752. ()(*,/-%
  3753. %$!%&)+.+0.1
  3754. '*+)'!
  3755. ,1.0-.-1(&'(
  3756. -*+'$(%*'*1
  3757. -0-./
  3758. *.*-.0*,*+)+)+*+
  3759. @<5?A9%)%&
  3760. *,0230
  3761. A=<>7>=.?D@D:",=?751/*)&# &*
  3762. ,Y*46
  3763. 214314:-
  3764. !#3C850
  3765. ,/0,)
  3766. :<>A?5%
  3767. "!#";>75/
  3768. XON#C
  3769. oponononmnl
  3770. jgdegjlon
  3771. fhikjkj
  3772. nlmlkjk
  3773. oqpqnE'
  3774. ZTSTXa_dfhjdVX\ZUWX\ku
  3775. f]g^x
  3776. Vgiu{r
  3777. |~k{obcZWVR
  3778. omwgh
  3779. wzutmi
  3780. UYVTRT
  3781. W    VWZVYg\c_n
  3782. bj_g`jqd^mkl^`aVY
  3783. `aZ]`k2
  3784. $3B:54inXR8K252
  3785. '%'*3*/),363:<,+*
  3786. ]Yfor{
  3787. yswpki]
  3788. pxekZ
  3789. ro\TJ?
  3790. 7-1+*%#/3,
  3791. 06-%>pyghoux{z
  3792. V^WV]
  3793. D;$&'
  3794. %-(4BJMQbprtw~}
  3795. j_X`QG@9:4/&*/-
  3796. rhjfe_^kngqsiqe]r
  3797. mnfV?A?9AMK[mtw|
  3798. {y{pdn
  3799. uib[ZRMEG
  3800. -(13=9-=486#1'-,jJ
  3801. uX+2*
  3802. )-("&+%'&) "U
  3803.  51:( 
  3804. 6=BFR]`S`QmenE:,
  3805. z}zx~w
  3806. 6:2;86+;A=7:?9=:=72`|vr
  3807. cq_bVEa
  3808. g2 "0=?EMUlyx}
  3809. gT<3]Kd
  3810. liXE?924AB
  3811. kLH?=IK
  3812. osirpnbrxsmqvorprlg
  3813. pC57I^_mpz
  3814. xlTPmUm
  3815. _UIGN^]KIPE9E
  3816. ?-<:<E(F
  3817. 5ik@X~
  3818. R'4eA:Ilr|
  3819. "/')3-."
  3820. 50?MTRZYZ[d^a93+#e
  3821. 1h^`x
  3822. 598028A
  3823. 7    ;?E?C82:v
  3824. |{yz~v
  3825. \jSKI
  3826. )"3HLKciv}
  3827. VJC-u
  3828. &/]<-.)/n
  3829. Q12.6
  3830. 3cz\$)_
  3831. kqofjpwn
  3832. tzswngn
  3833. y.;AQmpk}
  3834. kc\@~
  3835. qUEF6GwV@A9Av
  3836. ^JQ8`
  3837. "$#(*#
  3838.  #$!#,(1
  3839. !$#&2
  3840.  $"0I6DdK`aUSI)/%
  3841. 487<=8257967@<BAF@:B?e
  3842. xy}zx
  3843. pkoicebcl
  3844. '?BCW`mzt|
  3845. |yhE<5)S
  3846. qOB51#
  3847. k]30.#
  3848. +8WmW4Cmc
  3849. pilnpnpvrvtyupvr
  3850. P%5>b
  3851. z^RK9]
  3852. k\ID2*|rQC@3
  3853. 0f!"=]p-
  3854. #(5DJM
  3855. /0%,%"!
  3856. *(/.2)&
  3857. [+3:)+9NY
  3858. w`\LD
  3859. F8LV[ix
  3860. k}n?O
  3861. }C<+@
  3862. o_TC<78HNWb
  3863. BD:?8632><@?D;Ar
  3864. zEFJ;>D`
  3865. nuszmdoc
  3866. f `[TR
  3867. Z9KTZgxtxt~|
  3868. |orzx|
  3869. "*/2@6E
  3870. QKA?=<495,*w
  3871. hl`_Oh
  3872. W03%q
  3873. xyqvnm
  3874. uqutyqv
  3875. z|}ory
  3876. +IOSb^e
  3877. peTQSQHQN@:
  3878. MOUZfp
  3879. /2/$#"
  3880. +"-,1*W
  3881. \<?;AFQ7
  3882. gGB6C@8
  3883. :EMO^_
  3884. cadjns
  3885. `_P=5/
  3886. CEA98589?7@=B?agf{
  3887. oMQMSV`
  3888. sf`cafY\]URGM
  3889. DA:HXhlrl}
  3890. y{gxndjbc}
  3891. -#()21)
  3892. [hKQUZ
  3893. |[743/1
  3894. z{xpoloqulurwv
  3895. `:>HWQp
  3896. wNIMC>8<GC>-
  3897. uC93<JRV`em{
  3898. 429$( ,1/&,14L
  3899. VCOETHwU
  3900. @J>=38:10.*28<BL^Z&Y$
  3901. n\WPT]cdlqw|
  3902. GEM9<4@EA;?CFb
  3903. kUaWeX
  3904. dSYWTDI[PK<N
  3905. -BDKJ\`ax
  3906. .nwom]\bX
  3907. |2k:),l
  3908. HQOKs
  3909. >9}yaVflp
  3910. ptkv}yrux{
  3911. l:?;8)J
  3912. dtu{y
  3913. E<6034587
  3914. xvsmkw~
  3915. /92&*(+-*0261
  3916. (+)*4:>T
  3917. }zytqx|
  3918. >@=BDHD
  3919. pzydB?G
  3920. LD85k
  3921. p{paUYU_nyt
  3922. 2mb^V^ZTQMPSbhdcgy
  3923. v?CD>C
  3924. 2:r=?H6,/
  3925. x~zqutuwsxy}{
  3926. rowzy~v
  3927. I=?<52N
  3928. }{r|vpibfj~
  3929. /.7/<:;B
  3930. ~gk}uD
  3931. ,*&*& $*|
  3932. DHFECAICNKMR
  3933. j9RQpu}
  3934. >TNIKA6=F
  3935. {zyx~y
  3936. _354.0-P
  3937. Rljde[MS]
  3938. GU!/?
  3939. .-71248>HDI
  3940. @?IDFHKQYVZ
  3941. ^B^dq
  3942. AN@D;6R
  3943. uIB=F@I:>
  3944. G182021Z
  3945. WgW]SRi
  3946. 5c0A~mM>-P
  3947. +984@9ACIU
  3948. _<=25L
  3949. VG=+'(N
  3950. FXKE,4
  3951. ?KJFSMRTXd
  3952. \LCIGH
  3953. AG<1,
  3954. p-5,6H
  3955. (l)/b
  3956. ~wphy
  3957. gV=.h
  3958. }pj`]{
  3959. zymkSW
  3960. cPH<>B4LK7
  3961. uihmy
  3962. n/6245/c
  3963. Y`TJG
  3964. xS[R]c
  3965. :I7+"
  3966. :K,Vl
  3967. ;.-9AET
  3968.  %-1-T
  3969. $/8?2+
  3970. _C/,"#&Q
  3971. zqv9Ues
  3972. MBALRV
  3973. "5=(0$
  3974. y/#Do
  3975. >35161
  3976. .2;CG`
  3977. l.]cB
  3978. ~bVX_`dXVC6 )I7'6
  3979. i@FHB?F
  3980. 86+>C/v
  3981. ]lr_b\
  3982. w479;3/
  3983. Q_c\1MK[epy
  3984. uonplmhk\L2@`O8D
  3985. )5HJ378^
  3986. 67B?LIWXi
  3987. %&(/'d
  3988. ~bY?/*'%'Q
  3989. GJTQ\Yefu
  3990. !@64=5H#
  3991. R).',/V
  3992. kbku.
  3993. /<Tlk=p
  3994. B^Sa62=Qn
  3995. siX\OJ~
  3996. ]tlhoiu[W
  3997. +/=E[
  3998. dKLUoapKIVd
  3999. -;@K7&
  4000. clhHQl
  4001. p[B)h
  4002. .BJFRPMp
  4003. !,PM2
  4004. nXL@0&*'(J
  4005. AT[X`^]{
  4006. i0@DKLE5,GS/\
  4007. n.&$)"/
  4008. 6NVrjA
  4009. p%:[r
  4010. c7:A!%8B93
  4011. u^N[IDp
  4012. SAHC=HCvzq
  4013. k97M}x
  4014. fc_iy
  4015. muwy|vfau
  4016. l<AED>Gnt7[
  4017. ~S+A=
  4018. jCAE'2FPF@
  4019. {fyb`|
  4020. $* 8J;?6FGK\
  4021. E*3Ah N
  4022. L/[h=
  4023. 48?KSM
  4024. VI@)~p
  4025. ~nZK7)-&
  4026. 8G9ID_qlz
  4027. zw|zw~
  4028. 298?D
  4029. GJP[b\
  4030. hSXPRSv
  4031. Ondpeu
  4032. FHTDye
  4033. Wfhsv
  4034. ~fasO49@EG?iM5t
  4035. {pY9GA
  4036. nulps~
  4037. 864M`SVL;KdUvY
  4038. cI+C^'4
  4039. `nON^<Im
  4040. /6F?_S
  4041. :<EOTq
  4042. CIWPlb
  4043. =#$"!
  4044. gjRQt
  4045. dbXQOPz
  4046. N]gop
  4047. TFDfbH@
  4048. x`@{N>?=GENoE$d
  4049. mWdEGS
  4050. *=Wdz
  4051. qYZXO
  4052. 25@KS`
  4053. fF#N[s
  4054. 4-(&K
  4055. KMZ`w
  4056. {t{|l
  4057. g+G_j^3<Kb
  4058. FHS]cn
  4059. @ CZn
  4060. B1AXU4Z
  4061. ske[QM}
  4062. SCI(/+oD
  4063. P#"+0INUqu
  4064. ~OLvj9?AB<St`v
  4065. UGVg`Gs
  4066. ]!F7$^
  4067. !14<@
  4068. +/8$)^
  4069. 485Sgd
  4070. |lO;1+H
  4071. rerjeXwsy
  4072. EKIcrq0/,"
  4073. K2 N0$
  4074. Vesuk
  4075. !1n|_=EHYx
  4076. ?B[w|Zniqj
  4077. {g[T{
  4078. $.)<OoB
  4079. }fSycY
  4080. VC6|d
  4081. {Zcfu
  4082. ;7'@616Z
  4083. *+0O\Y
  4084. )(9`|
  4085. gC9*#
  4086. |Q*+4-% $/NF
  4087. lN>7P
  4088. vtz^Lj
  4089. mcgiefpmo
  4090. >?C]ig)/98Do
  4091. |RZJ$(=
  4092. Jairs
  4093. Y5F`O5CYi
  4094. A4;<0rj_
  4095. {qJ=;B]po
  4096. q8:4kx
  4097. ^dojq
  4098. gE^~gMav
  4099. PI[UshT
  4100. $),4/<n
  4101. qhYadflot
  4102. yIH/>839|
  4103. 54CLei
  4104. xfjhjt
  4105. ;Pbq~
  4106. &=8?V`k
  4107. E@7>:ES
  4108. utn?KQJ
  4109. hipaZl
  4110. aicpohc
  4111. JGOQe
  4112. 3SJXw~
  4113. bp~ubCb
  4114. tE <.
  4115. weE=*
  4116. B-=Ok
  4117. 09?a^
  4118. H[bYRGOMRaW67$
  4119. "'38.
  4120. rTM>&
  4121. rcWYc`dak
  4122. zJT=26<Ql3@6>BZ]E2w
  4123. 3N`nu
  4124. $-@Tfu}
  4125. `$*:O
  4126. {m|<[znebx
  4127. tvx|`
  4128. WTR\oWhftu
  4129. w_|xto
  4130. LFNQl
  4131. %,:^w
  4132. U3q\[?t
  4133. ]:5 :
  4134. `2;52KMt
  4135. gV_Q@>H8d
  4136. Ppt\T
  4137. ilcv-6
  4138. SX>wc
  4139. 834&%<U
  4140. FMH\`\kerajmp
  4141. xKGoiA4-/63$D
  4142. gdfm]DE839B,L
  4143. yf@HY
  4144. $-?Vgro
  4145. xjKDm
  4146. tnRC{
  4147. Z)]`Z`gkPLIZv
  4148. re_`gfZw
  4149. omd\[a]w
  4150. D3?M&.(
  4151. GCFR[m
  4152. -)9Tx
  4153. "\cf9
  4154. ;'-6;W
  4155. jSNGS`
  4156. #'(3(
  4157. `dYCw
  4158. cS59=Cc
  4159. PS]bfb
  4160. |5K_iQG=FC>S
  4161. <0,27_
  4162. #;cn|u
  4163. s~`Aq
  4164. _W1M_8u
  4165. P;]lO
  4166. mY][`{
  4167. qQVXSPEA>@FIkcQL`_
  4168. uovun
  4169. gemc]`e
  4170. 52j(/*BhUok|
  4171. HGHIOg~
  4172. _-#.P
  4173. zMFJf
  4174. pH?:/*&
  4175. g]lgnqWHP
  4176. S_OFf
  4177. IHV[\cS}
  4178. rkulc
  4179. X741,)0v
  4180. PCN].
  4181. 5&-^om}
  4182. vnxlAP
  4183. JkJ=@?c
  4184. qHGIH<9I]h
  4185. ypacv
  4186. eda^[^
  4187. P>2-/
  4188. I^tny
  4189. JFGRce|
  4190. s,H5?}
  4191. ];ulS
  4192. CLlKCB]
  4193. a]IA4Y
  4194. SxVF=DAbW
  4195. ebHBLEZ
  4196. jdS=6WHc
  4197. aTP>398Em
  4198. >@Qg`Tg
  4199. wWD>V\t.
  4200. #`x6Nd
  4201. y_[{\u|&C
  4202. kiXLQSa
  4203. PRK{R|
  4204. >CHVXbh
  4205. Qd{BFErQ.3
  4206. dXIC:B
  4207. -2bi[Z.
  4208. #1-*5Yw
  4209. U]YK?<]
  4210. fH0)(
  4211. UK:@S{
  4212. |nbS?B;P
  4213. j^QB;F]
  4214. ~ofF8PfZXi
  4215. A:<][P
  4216. w'qoctk
  4217. ~XPK^iz-
  4218. PI49Di
  4219. );}I(
  4220. zg^ks
  4221. eUe|rp
  4222. rG[_X
  4223. wKsR)*M
  4224. rcNT_
  4225. BGBPZQ[v
  4226. `riFD9V17U
  4227. bpi=x
  4228. fRK5=:y
  4229. 5<V8Wa
  4230. ~g\@A8?
  4231. n\Q>8=\
  4232. E:4GR_
  4233. n~wq}o
  4234. -FNkXvt\b
  4235. ]^Tck~-
  4236. !4E`v
  4237. uiag~
  4238. VZUgd_
  4239. 9DAHMYVu
  4240. SJNEC2A.6
  4241. kfSDYICQa|
  4242. tT@uie^2
  4243. Z.!9m
  4244. udWL?=1
  4245. X9l(J
  4246. v    rfozjhg
  4247. rbRVZ_
  4248. U/ ;d
  4249. ~rjf]O
  4250. tX95P{
  4251. .MrqSx
  4252. (+1aLANav
  4253. .HWbv
  4254. pg[H@7.
  4255. 9SMI>$
  4256. hfodhepoe
  4257. hSX:Xad|
  4258. #=LVbv
  4259. olcZN
  4260. :-{S}
  4261. @Veo~
  4262. C;2aw
  4263. ~kdis
  4264. QeXqD
  4265. W@16B2
  4266. [H@?Jk|
  4267. v!49j
  4268. tX[N<71 h
  4269. {QV'Y
  4270. j]ds_auf^
  4271. ]VIGANLd
  4272. ;@@Zfem
  4273. j 37b
  4274. y}tib[O
  4275. =>9<0
  4276. sbXR[{
  4277. v`J_a
  4278. u.dU_wgA<r}
  4279. i_WRU|
  4280. 'nrPSM2
  4281. l[ID6/4!T
  4282. ~gB@s
  4283. ODZ?F
  4284. U_go_O\fhph_
  4285. J@BLPl{
  4286. uldau
  4287. pm`[dJ~
  4288. |ryq]N
  4289. 24<9.
  4290. }ru}|
  4291. dMZsv
  4292. kapie
  4293. jWAI9;n\
  4294. nx[I<1
  4295. lTA<+/3*+
  4296. Q[v8Z
  4297. }<GVn^]fR^c`N
  4298. F@*vo
  4299. zgcX\`NX
  4300. z~tspzwsodafe\
  4301. <;GOUn
  4302. `6LOIL
  4303. 9+!}o
  4304. :Uajxy
  4305. ^M9:.2.*
  4306. @Ob9~
  4307. D9PT`OWh][\]L
  4308. 0DNXmlk
  4309. sa\Y^YPN
  4310. ~kx30d]
  4311. gfnhb
  4312. VTU[V~
  4313. ~c<+e
  4314. b83hRMUq
  4315. .C[js
  4316. hv\Ee
  4317. zb_[.i
  4318. A/&~vp
  4319.  +=Z1
  4320. (;89APV[ev
  4321. kt`g`9Vs
  4322. }rnyou
  4323. 1>V\dTagQ\T_O
  4324. AJ1&_
  4325. ~lZ_f
  4326.  +5Hn-
  4327. 0127FKOS`
  4328. FI{we
  4329. n2*xY
  4330. }pe_aj\]Z
  4331. OFENGI
  4332. Kks\Gg
  4333. yoexw
  4334. 53GpLN[i{
  4335. ;IEGPaknw
  4336. g@FLna^CR
  4337. '$*;2
  4338. ~O?=320/
  4339. `!]Ve
  4340. ZY]XJTWR;
  4341. V')+j
  4342. "'317G/
  4343. sdfg`ZRGMP
  4344. yhg[RM
  4345. RIAHBCB<:Knm
  4346. milmwq
  4347. K1XmTRXfck~'
  4348. {EF8:2*./("
  4349. rvfniT^NTOQUh
  4350. CGJ2IJ
  4351. OP>=_
  4352. ')*-7D/
  4353. 'H]k~
  4354. qhe^fWZ
  4355. omai^OXZNK
  4356. t{kdw
  4357. <4<6:98;R`p]Bg
  4358. jhbhdz
  4359. _LVZ\_kx(
  4360. T4.9@?6Q
  4361. }lnspn
  4362. P+#"7
  4363. <B@#-yPpl
  4364. u<45Ben}
  4365. xtc~z
  4366. LF:32,*,*
  4367. ]R\Y<=\
  4368. be=BDVMSMATMRLE
  4369. MSR:C
  4370. !)')7=E/
  4371. 4U\kug`U`Zg
  4372. ^    RTVSC
  4373. uliYS
  4374. 29V~s
  4375. f3H?C>-1G[j
  4376. ^g`b[
  4377. wv23wlPRYXZjs{(
  4378. VMHMlkw
  4379. 5kcE-
  4380. tiNVtC8;58j
  4381. wguod
  4382. 7JEVg
  4383. ['50:D96EL
  4384. VL>, w
  4385. GOD<72,+*
  4386. {VM-z
  4387. G1:5>Na^\MWV?Q@
  4388. HKN0-LRLZj
  4389. ?/5{~
  4390. UQNScU
  4391. )/*50;/
  4392. /:>Gk
  4393. n]D.z
  4394. oupf_]UTPC
  4395. Jra[H
  4396. F?8;}x
  4397. RXZLQY]oditu
  4398. o&u~n
  4399. :5EUNPNZa\jer(
  4400. sBTDFN?BR^
  4401. t[>ysQMg
  4402. zJOJFH?
  4403. yuxqxs
  4404. ]Y`vh
  4405. u7#"&$
  4406. l&8Odao{
  4407. %yW@>-1
  4408. ZIG>4
  4409. 2</-%Skp
  4410. SOqpb
  4411. B0/EISP]ZUWRXP>
  4412. FIQ=.-}7K\
  4413. L98;9&vn
  4414. FDX|VX
  4415. #&*,94</
  4416. url\Y
  4417. [.VLsBD
  4418. q:GB8
  4419. "trsuq
  4420. nehz}
  4421. tsqpa
  4422. P2DtMQOUX\`ols(
  4423. ~C\mvru
  4424. p=rhSs[o
  4425. sTKDA<Q
  4426. ]u^R4
  4427. xhbXte
  4428. n@ !"
  4429.  !(+23
  4430. 3d;6"
  4431. ^ORC5/6-*'HXV
  4432. jqnfh
  4433. @JC\YE
  4434. 9/Kal
  4435. {cUJC
  4436. <8/HDRHI
  4437. FIOC-+}8C]
  4438. {R7896/3"ol
  4439. 3=aM#!"$'017:A/
  4440. s-6Np~z}
  4441. mlkag}a
  4442. LIBp@t
  4443. ~}t`R^PSQk=;fsd_
  4444. ^7=9:7
  4445. kecYR`s
  4446. k[nz|oXe
  4447. tyrsiSI<'
  4448. olf{x
  4449. rprnfj\
  4450. ;9btUSRUYdfnry(
  4451. kUpP5Ain=Zh{
  4452. N7Fm4q
  4453. tTJD1Z
  4454. \B6.3%#/7GX
  4455. xmg~u{h
  4456. 3@97#
  4457. WM,nXQB
  4458.  ')-3
  4459. ;58EUahkdokgmy
  4460. gMD?4
  4461. .'%AR\~
  4462. PNOdK@:<3.%'-5GQlrz}
  4463. u580@?IGPY
  4464. EPKI70fX9u
  4465. T2.3/02
  4466. -$/i~
  4467. /78</
  4468. 3)-7DMVWMPNLS^xD$#
  4469. }unbXWSPLg
  4470. @6LRZ\~
  4471. |ngh]XMNT]jmz
  4472. xmrhmyXp
  4473. |mikPX{s
  4474. lfjefjedh
  4475. W6UtQTR
  4476. `cemos(
  4477. ]_np`r
  4478. ]eY_e>2BeNMq
  4479. qCcny
  4480. y`86^w,
  4481. ts|fI;4/&
  4482. $0FS=?`f6 5\
  4483. rkms|~cp
  4484. ,/254
  4485. $!" )3
  4486. 0KC#6>B5@C
  4487. `n2;?
  4488. ~|]@&
  4489. V~tLj
  4490. QKNK=?632354326937,&8:ZY@F8=,#0Os
  4491. E,3AJ5FUGY\ELCON
  4492. ?AFJH/1;1%)+*$%*4=EA%L}
  4493. \J7\OZi
  4494. =E ! !%(050307/
  4495. >B<P/8:(-M
  4496. =@AK[
  4497. }{~xmnfdc
  4498. c-}z^ihbRHTk
  4499. V_a^l{zp}
  4500. !egl`Y]_^\]`ju}x]{
  4501. ul[segj
  4502. RKV2EpTQOQV[eifjfo(
  4503. ABCF1IeQ-<FHBQRchg}hjiOTx
  4504. ?IdMD
  4505. nE?@G
  4506. M+I26G`w
  4507. |o;4/:5 !$/+*
  4508. %$/2*3Bg
  4509. ~cpufm
  4510. !$05/4(
  4511. ! "-3
  4512. ?c0431@AITge@V`
  4513. k`I,#
  4514. HRZ[UVNIE;
  4515. /0262
  4516. /(329<:(<F97@;86E\q
  4517. bI./0H3ALZVIaV
  4518. FI=%"
  4519. %+"#$5:CJEJ=&p
  4520. J9;=T|
  4521. 101=/
  4522. >a'()'216BL[7M[v
  4523. aAJEJ?
  4524. |yxnhgadcbdhcabeagij\w}gcic\[flr
  4525. toblmznx
  4526. rXUYXU
  4527. W1knx
  4528. jdbYer
  4529. rn`kI8zURSTRZbcbh
  4530. FQCA8$-Us9;?<JM[jv
  4531. GF\}ftM<9D
  4532. E8218.3;AJ]`5!
  4533. #0-<I^
  4534. z^K7[r
  4535. {hA>L@!
  4536. -1(161
  4537. "GFB617'
  4538. @6BGJgwj
  4539. {]<&F
  4540. AFOxlP
  4541. CNZJ]a
  4542. TQA?A7/+3=12.24795.349>
  4543. @"?>@A>987=JWcjs
  4544. M=)40OFOR[\JNFHSE
  4545. AF>EID 
  4546. ",0XVSKFL;(
  4547. M[" %!#
  4548. d;79>Ddpc
  4549. wvrjs
  4550. zwxmhcfoed\bcilgdshkqrslnqsmgc^airuvk
  4551. km`kj
  4552. vUOtp[
  4553. TQVST`^`d
  4554. LXQLB
  4555. ZY[_p
  4556. _E0$O    G
  4557. Z;[WN<Cc
  4558. 4    (uG&
  4559. q~yq{tm
  4560. UQOJ=
  4561. }aipz
  4562. 3:63>
  4563. %<C:@?;659+
  4564. %830)&"
  4565. ud^IJ
  4566. }\<5(0F`
  4567. gM=.]
  4568. thaC8&
  4569. n8~%(
  4570. R"q`r~p
  4571. xtpL[
  4572. J-FEITOCDAC@7BS_;@>/95:E?@6.=G@:D<>@B?DCLE=ED:2>
  4573. GK]bIH]WIH/
  4574. F    DIFQ+*0LSK
  4575. Q+NJINA0<nmx
  4576. {L,3?QZ
  4577. $&($(
  4578. /<64-(!
  4579. q]ZKIaOLFYd
  4580. |XC:Gm
  4581. nba[w
  4582. |{yx|
  4583. xytutrw
  4584. uelmn{
  4585. q    lfpwrlvoqr
  4586. kmtur{
  4587. lSWX\T[
  4588. nikinr(
  4589. ah^XRH;06u
  4590. Z64!lq
  4591. r]M,.
  4592. /5642;4@EI<61:870-.
  4593. "0?RN?
  4594. -<:1,!%!
  4595. scI#0>Z
  4596. egRZ/(O
  4597. zrP;/*
  4598. zrqsrnjm_{
  4599. ?Q}q{
  4600. AJBQHDKGQMR\GRM>PMQREL:@FE-@WXH5>EF?@>E:>B@<?@9?<8:?9<JXdZDN]RLE.
  4601. JFEMFOUYMIEN
  4602. D    3I`Tv
  4603. X=.16DRa`S
  4604. |U$'*+%
  4605. 7629F/
  4606. 8E?3-"$
  4607. slF".6QcPQXx
  4608. [)Pcp
  4609. x{LCi
  4610. zxe[OYt
  4611. 54<If
  4612. pwy{iu
  4613. |os|~rqovkquq
  4614. rnsojosqo{
  4615. whijx
  4616. kvmZWBA70-
  4617. h4K`zc5&)vO
  4618. }N3i~
  4619. wigro\[\ZPL
  4620. gbhC92)$
  4621. ,2/24;?AG@F?5
  4622. &FBADJ?
  4623. !%" '
  4624. $-,42
  4625. /<8:6
  4626. fY@ #(3
  4627. (GWSGIB41n
  4628. aJ:5" 
  4629. }nb_b`[kD
  4630. JIGQPKOJWPUWRSYTYQTcAF=FG>7
  4631. ]O?7=@AKJ6B=?<;9>=?8A
  4632. NJXKLEJ\LSQ+
  4633. GMPSYRVSH
  4634. C@AE0LeT~
  4635. SI-84)=WT
  4636. &,*)/08429
  4637. 5?=C/
  4638. @KB?6)
  4639. %*gA<Zq
  4640. j%>Jz
  4641. sja[VJo
  4642. 4>HVhu
  4643. wxpy{urx
  4644. |}kupqmnkrqrjty{
  4645. irm`q
  4646. `b^]demjgorslurz(
  4647. skdLEJ61F
  4648. j-+=H{9,
  4649. z_fkq
  4650. wrv{mkbhZN]P]
  4651. {~muxi
  4652. unoA]w
  4653. <;4/3,
  4654. L[Fbx
  4655. <842510$@b+
  4656. #$&)(*./.3
  4657. @B@:;.,.,
  4658. tWP`^YF,
  4659. zeS;0-& 
  4660. ~oa]_XN[G4:89:6t
  4661. ca\UOS`
  4662. ]RFTNL=MU]W
  4663. X-?=9G\@_X
  4664. 8AR]T>`]LDRQO#3D>HILPD;B@SBOFIbYBJ=
  4665. @GJKLKNMJDH
  4666. @%=A:)ZeSi|
  4667. X<1-91:ZTUOKIEHFE;Rm=.-15
  4668. jKMeicG 7)4Vf
  4669.  *8>Hq
  4670. }xzje\S]RYq
  4671. g`hch
  4672. aGVjm
  4673. ,2nW[i
  4674. fnwryz~
  4675. z}z{zvzq_
  4676. sjfoen
  4677. xqefYZ1,>
  4678. lUJFL.4j
  4679. ,9HPZ
  4680. _EhsS
  4681. ;KaswtU3
  4682. pkw{v]rRqvk`ebJ`TVR^xv}jtjwls
  4683. ot`JO|
  4684. &'+4/4:749(,+)*$/:(
  4685. GT>G<
  4686. 3/0;-./3
  4687. >M<@1:9
  4688. }p\PJPXEJ
  4689. }uVJ?40'
  4690. wli[NRU~56@=><@AHW
  4691. v&5:`
  4692. L]UDTcXcaT`cbSdRQWaYMP?JKPL]\QNPT
  4693. R NSJK@SI?;AM@HBA@A>LTYJCIZ[PH;-
  4694. :>CHC
  4695. HLIGL>
  4696. :EO:&]^Tr
  4697. QMA45303WcQYMEHE
  4698. B=A?35./0;56@>=CBAK
  4699. ZeNJ<@>96%
  4700. r[KFHTX@>4(1
  4701. cZVZULRl
  4702. m6ny~
  4703. 3.=|Zcm
  4704. try~y|
  4705. ymligd
  4706. z|z|xytyznk
  4707. gsklw
  4708. v    zyx
  4709. ~whqpdeB94
  4710. poPNV
  4711. ";LXP>
  4712. Yli`\tnzg
  4713. w6ui\SYVeqoyukeqayrw
  4714. |{~vsNhk
  4715. ZMhqnrY
  4716. $-15425
  4717. 63.*&+'
  4718. fx|t]5#$" 
  4719. *9E;47:;(
  4720. '(+)%!
  4721. +*,1.
  4722. 3&)82
  4723. 9KA?F?><,%
  4724. m4\SVKA?
  4725. sdH=8!)
  4726. sjbZLQyrK=AE<B<CDBg
  4727. T<0$+W~o
  4728. I[`GX^_[Xh`aXYbaQU^[SIARPFebZNQOCJIQBETMIZO
  4729. VFXP;@BUXMTD[`J@G><
  4730. 9@EHGDG
  4731. IGDA=@<@A9*q}
  4732. pK;<7543>JWKHI
  4733. =BC;=A>:6
  4734. ?C?CBC89F/
  4735. WcRJTJCB1)
  4736. aWF@CH92g C
  4737. }vokjkW
  4738. {optrwryzy
  4739. jXNSy
  4740. |tzrq
  4741. }zvzv
  4742. t{zrvzxtoqplkwvutw{t
  4743. zps^R48
  4744. yuwxfg
  4745. fL,"A
  4746. TLPSU]
  4747. jT`jaPYQNRK
  4748. kehlj
  4749. gjhml
  4750. qdghfY[`buxuolnmp
  4751. k    gfjnmkfedg
  4752. Yib[Zdc`UG@=tzfmpml
  4753. QKG?CJc
  4754. cfbdy
  4755. vsvpkYOE<:@
  4756. <;5474[
  4757. ME@:4
  4758. <D>E=47
  4759. {z|YG^])&!HyWK=6X~u
  4760. +JQ[Z4
  4761. RKV[RHRL
  4762. 6+31928D8:E:5=985952,3+/3@29E92
  4763. '+#$02,-;7-6>982
  4764. ,+734+363
  4765. ,/!~]
  4766. ')-*-,
  4767. A4)*+(
  4768. !"585/-
  4769. 1,+*-+(%).-*&
  4770. .+.+*10
  4771. P^RHFLHE6*"
  4772. J6865.1$#&
  4773.  )FpU]
  4774. yxysptz~
  4775. yz{wkhWRMLFNTJD9C73X
  4776. of^XPcd[`
  4777. c_d^Y[_^a^jgZWi7%0YXQMf
  4778. EADPfk
  4779. YE>?=jgounfmi
  4780. YQUV[V`i_`e]Y`^\Y
  4781. XQXQWXcX^h`ZYWSTNQYZ
  4782. _\X]a
  4783. X^ZPQ\YZU
  4784. YUOLIc[URTRCHIJ
  4785. [VUWVY
  4786. U    SVTRNQWUSP
  4787. NTVQRWSWSRY(
  4788. u%bRH6vxgdb^bRPXM=5/5Cc
  4789. ysmlfpvnh]hXSt
  4790. .-/01
  4791. -,+*+-')-
  4792.     k%^dgegfgf
  4793. e    fehghfgfdc
  4794. opnic
  4795. edeghjlo
  4796. `(^cdcd
  4797. K.aef
  4798. fgfgfhi
  4799. hjprsqo
  4800. \SYUd_`nP`~{
  4801. yYH,#
  4802. TSYQSTYgonrmz*
  4803. !/4+089,<ADVUis
  4804. GA0/3/(*$&!
  4805. [l[\H
  4806. CFPHIE@:42
  4807. ,+,.,
  4808. >OSUQb
  4809. aelU[ZWVUOMSHMLFDILKEI
  4810. GFCD=
  4811. l[gSXHBAICVYQOYZ`]spu
  4812. |tVSJI>C52)&$'&+,)&,/9KXZMT[]Xb_bQYTV>7,1
  4813. b\B32%u
  4814. e/ME:793$&
  4815. #2JO?D?MHJIH=;4;:0')
  4816. W]RY\Uektpos*
  4817. 34D=AIMkj
  4818. |e`cQRHIHA@7141*1
  4819. g=)/38Cd
  4820. zwjhi_NM92+/0:73+7>Niz
  4821. {~tolpiZIS9@/6,
  4822. 20,-,%!)"."
  4823. wraPo
  4824. ;JMKLD>54-,)%
  4825. -23;<?OQY[TXY_f_V]ZV
  4826. ZWSORWMHKOPJHLMKHK=><>?=x
  4827. nVDMG<24=(1MXG>KGSah\]lq`F=,K
  4828. |rSL&'
  4829. jVUD`973.*$%
  4830. '()5B]
  4831. |iVOF60."%
  4832. }egI'
  4833. ~qZHD;I(0'#
  4834. |VA@>-7(
  4835. eQWMdkwmpy+
  4836. ,#%-* KON`w
  4837. ow^fUMGLA>C765
  4838. ^+2760=Mox
  4839. l~UTHE:0,
  4840. 3#.10Db
  4841. wyt[]K5@:<:7B<5
  4842. YLKEH:72-,*&
  4843. /*.+*,+
  4844. .123<?9>HJOZV[bdXUVYTNSZSYOTS
  4845. SRXUP
  4846. FLHIDFH@
  4847. ]T8;)57.' 
  4848. 54A?=BL
  4849. bg[UPL5
  4850. zyiOQ5
  4851. ynU\RIJ68,+&%+#'!26Rt
  4852. t_MC4
  4853. ! !(+4*-(*!
  4854. n\A) $q
  4855. }o[GPF9<(' 
  4856. ZKB54,
  4857. PYVKmjx
  4858. !"+0"TSOjx
  4859. zpeaQTODB>;@7
  4860. <0-4-4ew
  4861. vmhPNB5
  4862. .*4+0'=Im
  4863. wl[R@138>FMEMJ>6,*
  4864. %&%)F
  4865. =DEG;84
  4866. -/-/-*+)+
  4867. 657:HLNYRXUWXVWROJNV
  4868. VWQPJGH
  4869. DFD<>
  4870. SN+658
  4871. `UgcVQ
  4872. wfV)2
  4873. ytd]X<CF6-& $ !&/*5S}
  4874. sY[B4' !'9IE;43/+% 
  4875. ubE)&!d
  4876. ifRLJ027)
  4877. 4)(p:E
  4878. gOH:+
  4879. '0)1*0
  4880. `WUMbgm}zy,
  4881. +&(+.4J\Yl}
  4882. IJC?@>562,*,(
  4883. 5686+Qlrdfv
  4884. OANH?
  4885. }:`\]L?-)-$&3=5Ij
  4886. R^?L[r
  4887. ~lV9.,6Rg_`]fIJ@;,5*&(.F
  4888. =@CD;74,-)'
  4889. -,.+*
  4890. *-0-3598D=?
  4891. WUQPONFGPQK
  4892. ZMONSK
  4893. ED@>;<7m
  4894. 47FDQI;1?h
  4895. nmpgYKNI:0)%&%'+%*03L
  4896. cKN40+-`
  4897. kLF:101)%
  4898. |hB,)
  4899. B8&MLB547%
  4900. ~c_XUN?B<+
  4901. 45?86CH
  4902. TC>'" 
  4903. V<6+2'"
  4904. Y^mrmz}
  4905. 04=749Pdil
  4906. eflV[HOCK?=B8595)*+%"
  4907. wCKH>MZ2*h~
  4908. ^TqDTX\YI
  4909. ordR?90+)36/DJIs
  4910. TWhT[ig
  4911. xtLE@A{
  4912. pi^cWO?>5)(*F
  4913. s>A<56-*)(
  4914. 3132.+.+,
  4915. 4648=CABQTVXWYWPQIAC
  4916. GEJPUQZ^SQTMJHLB@?B
  4917. 5:=8d
  4918. 1>NP59)
  4919. u    \^ONF*6.%"
  4920. $0# *42P
  4921. {XW9E/Eb
  4922. a`K@53.
  4923. ]251a
  4924. J<0G;#$%!
  4925. w}g]aGJ;?3
  4926. %)Pyk
  4927. Wh|y~
  4928.  $63*+7>CJU^u|
  4929. s}vroE>J@B?>7CA67941/+
  4930. YVKFEW,2Qbi
  4931. JYViOSQ^YW
  4932. z}oqY:H?0,-*+';EBt
  4933. v|T]D[
  4934. de\]K=+3.+F
  4935. TA;85-*()
  4936.  241/-'-.-
  4937. *+-*/67=B
  4938. ?H\clmvfcac[VX]^cPOMYVZVSXTP[Y
  4939. I896b
  4940. @:9;+&1
  4941. xwaKR[B?8-)+%#
  4942. $-&5Z
  4943. r]E=?Md
  4944. qXN;6,% 
  4945. fO6`]Qr
  4946. ~jabO6?I/2(!
  4947. SF1)+4Z
  4948. ]C9+,"
  4949. *HW\F'/*+]k
  4950. U;JA?=>[
  4951. +q].$
  4952. v464A(
  4953. e6OKm\^s~|{
  4954. ~jouSVK;45+*$-:/Lz
  4955. }cSWi
  4956. zn^`P>20-.F
  4957. 9<83/+
  4958. 36DVUS>+.+'S_`RAa[k
  4959. f>;C;U
  4960. SKQWT
  4961. $1>($@
  4962. ~sk_[XM
  4963. 9-*$&"$! /*4f
  4964. vH9GHL'
  4965. qJSUSu
  4966. wXF;1(
  4967. |,+$S
  4968. zljSX]K
  4969. oaYJGD:0-&
  4970. `Pbap=(%SU
  4971. b~^8<;5c
  4972. c?85' 
  4973. $%xhj
  4974. %FAE7,Y
  4975. 7206N19
  4976. Na4TP
  4977. G72.3Z
  4978. HKI`q
  4979. xhbYL;8*-'*
  4980. ).B7O
  4981. ZV\^iA;Cag
  4982. wmeXH530,F
  4983. B@840-(
  4984. 1<~B>RP50/'sMUn\pQD;n<FBFcg>;z
  4985. FSOMQU
  4986. ptcYOI?>0'$#
  4987. "$(#*d
  4988. eLEQrX
  4989. ZTPY|
  4990. kYE2% " !h
  4991. _/+$R
  4992. h`ERU
  4993. n\bLB951* 
  4994. WUE80"z@3+CV
  4995. RH4$!
  4996. 1G7O7"Z
  4997. kO>,E
  4998. RMLKqS?34UwvXj
  4999. vkg[XB:/-# &*4/6s
  5000. xr\`e
  5001. m_WJ/,
  5002. |iTI:
  5003. 2<}E>VS02/'uRUs_mMH:t<D?Jag>8|V
  5004. \DMNQK
  5005. I9:8`
  5006. {jkZPKC<7/%$'!" 
  5007. x~bWV]LEK
  5008. hU6&!
  5009. Q1(&M
  5010. ={bVZH@82-$!
  5011. |lmktd_tkf\Kv]G,1i
  5012. Y>CFm
  5013. yJ2*#
  5014. x}pd[
  5015. }G<C1w
  5016. G=CQ_p
  5017. zqhbULE6/5%'"$"<n
  5018. sviths~srbW~yiO={
  5019. m_L51.3F
  5020. #&0&7
  5021. PYJ9B2'
  5022. "8;m9?_\2,+#tPUq]hMNC[FD@Ceg:4s@
  5023. yHVLUH
  5024. vl\SRFC91-( 
  5025. yP>5#A_]H,1*% '"
  5026. gW:0'#
  5027. !+5Zq
  5028. |{~cZKDA
  5029. neIjk~l
  5030. SA@LH[NHP{
  5031. [D<=:
  5032. ):C78;g
  5033. }{pcbQC:1(!
  5034. gbQeXa`
  5035. ^ bJLOLsOaf
  5036. (2015
  5037. ~niP@<6.F
  5038. yb[T#
  5039. &83j=>e\2-,%tQUt^ROLGFR?K<_iA6wI
  5040. }cDZ/
  5041. wncZVDC7,/%!
  5042. UCcqIcV4#*7b
  5043. iFD>/(
  5044. \J({x
  5045. rC'0Lgt
  5046. d[QHF.5%
  5047. mdMug|
  5048. aroh_WbVIS?7V
  5049. j_I9=
  5050. X2/*"
  5051. @N/=:,c
  5052. ys\`Q=?.&
  5053. rZqWkxf}jiabegexA3T
  5054. B;-',
  5055. ~Yg[I>76F
  5056. 64?>HKYJ
  5057. #58m8Ch]8/.$yRU{pVNLOKZBI<_k@>
  5058. 1*0797a
  5059. YLF<;-.#
  5060. xihK<@h<6=-Zo`EBI
  5061. u;a>*$
  5062. <5.>HW
  5063. ~xr]OLI>20+! 
  5064. varz|eql~
  5065. smyC]uDJ,
  5066. `L?*zb*P1#
  5067. }rv]Ug
  5068. EK$841_
  5069. ?47gy
  5070. a>PUs
  5071. wm_VSB;+
  5072. }alvRq
  5073. M{\G:06F
  5074. 57@Fcgs`
  5075. #42p5;ka8,-%xOU
  5076. uXMONOxKE7]l?G
  5077. $10;:6a
  5078. j1/8V
  5079. thaNHE=-2*
  5080. pvlfoO84)2abhJ-9A"/0A
  5081. i<QG-
  5082. S+60<G
  5083. t}v\UJA93/
  5084. ~pklj
  5085. bwqjNENQ
  5086. dDNgDeyX/E=+
  5087. ~ldJl
  5088. Xboml
  5089. }EN|y
  5090. PESHA:?O
  5091. ~og^YAD4#
  5092. {~]qj]RMHR
  5093. aV30At
  5094. ~NidT-+/F
  5095. na[]E=;B
  5096. "13w;:id9,-'xKP
  5097. qSMLNO
  5098. SMCiq>K
  5099. Oq~C*
  5100.     -3/?:9`
  5101. ti]JA290*/ 
  5102. \M8$"-Nk[I<
  5103. xe2%L:
  5104. 89<,N
  5105. ]QOzvwz
  5106. x`UQ;6(- 
  5107. hWUgu
  5108. peXUVQ
  5109. NK2S|
  5110. bm{W+
  5111. OT$'&(]
  5112. e5Pnys
  5113. y&*!*<
  5114. [eR@G
  5115. GIDGkt
  5116. egPX>9<$
  5117. mj\KQj
  5118. jz`][\ZP
  5119. :&$63
  5120. zA-_Q2$(F
  5121. &:9w1>pk<,+%vMR
  5122. vYKIJO{
  5123. EFeoAO
  5124. IfdD*
  5125. PDF8#
  5126. o\SH6
  5127. 38,-.
  5128. c]9(G()[oTH<-`$
  5129. vM3&\-"
  5130. BF7/O
  5131. %76);
  5132. }|m\L=;*
  5133. mknTf|v
  5134. wmej;
  5135. -<qaj
  5136. KO%1 
  5137. Yih]iMp
  5138. G8?gEK
  5139. rmSLN:=6
  5140. 8_vYOY
  5141. ~ghe@UmlzvdYo5
  5142. \=-uJ6)+F
  5143. `fj`_
  5144. '76u49jiB-*$rNW
  5145. shHKGKL
  5146. RK_jCQ
  5147. G\]61432T
  5148. /52<@7:^
  5149.  .(*s
  5150. q\WL>709($^
  5151. QfeJ7l
  5152. \N;?R1
  5153. .SF64T
  5154. yjmZGE;+(%'
  5155. Ul[Rwh
  5156. MiH=*7D$
  5157. nA83l
  5158. O< - 
  5159. V1:1:Y`
  5160. |tjURJM/)TeDX7?M
  5161. ~sQ\IDbf|
  5162. z{/} Bo
  5163. q`ALoI.0/F
  5164. bk~yw
  5165. QX_mX_Om
  5166. #41s03oi@
  5167. G0FMI
  5168. WD`nER
  5169. GW\(<-67W
  5170. _,56B>7<a
  5171. vhUR621->
  5172. `ban0
  5173. WK3B<.!
  5174. "UAF?1Q
  5175. raTEA)%!
  5176. xrmfQ^ts
  5177. tb]UM
  5178. @3 3)#
  5179. VZKLB
  5180. `mrmVm
  5181. \-FEZ
  5182. `8=(*+^l
  5183. xrNLF=I
  5184. i>OQ:%$(051/
  5185. jS}tp
  5186. ~lCOX>
  5187. h[;YZGA
  5188. (0<JPR
  5189. h3=C>)N
  5190. #56w27qm@
  5191. *1"vKT
  5192. v_EINMThrFakGN
  5193. Pkd+Z>15Y
  5194. taQE75*)
  5195. `G=*%+'
  5196. _6(47$
  5197. j;6!*
  5198. aSB1(&
  5199. wjucmu
  5200. {lijIGj
  5201. -6NYRS
  5202. eARXd
  5203. S4@9IG
  5204. m+4Ou|
  5205. u`KP;9
  5206. .]CR e
  5207. 1++(28;7
  5208. |y`a_HDjfb{
  5209. <@,<p
  5210. pE/FW?7-*(F
  5211. 5(6ELA
  5212. U*28W
  5213. %83s<9rh?,+"yNU
  5214. r^GIHKMU~MbkFT
  5215. Rd_/_R28Y
  5216. D.7AEF@ABh
  5217. 8w@=*7GFIn
  5218. w]SJ8(V
  5219. l_M261!)
  5220. V5);,
  5221. L^[>{
  5222. cWIKB3\
  5223. naJ@:&
  5224. lJPIr\
  5225. @1/Dk4_@%
  5226. N\PRTJQ
  5227. *768:d
  5228. }rnQ9[d
  5229. >a85i
  5230. 1CI6?),2=A
  5231. spiTLCqZf/
  5232.  9(~tF0TL;1/
  5233. @LRINX~
  5234. 0&ED_jp
  5235. (4>61D
  5236. "71h34mg:*,"xNV
  5237. tZFK[TPS
  5238. KckDU
  5239. g*86IEFAC@j
  5240. T{rnb\
  5241. vWPEL
  5242. {fDC:.
  5243. UTHG8$
  5244. `EH9,\
  5245. zA427zy@e
  5246. vpJ*|
  5247. BD?<&${
  5248. n^G;9>
  5249. ~z^RgE
  5250. %=ZmsG\E>./(
  5251. HOLITQl
  5252. \25BI<GSlb
  5253. ~tjTcVnLw
  5254. vh]g=
  5255. Kywqi`U?62(
  5256. hWhTw
  5257. ,1./40d
  5258. [27BK;768%?|
  5259. 4A`84meA*,"uTZ
  5260. NLmLelES
  5261. Se\.5Ah=]
  5262. md[Yl
  5263. .79>YJCEA@h
  5264.  b35L+4:qe
  5265. wtZJ-
  5266. ]GF)*
  5267. wL@R*-
  5268. L8QD9. !
  5269. eZ?03^
  5270. i4;yz
  5271. VeRJz
  5272. Y@3-+-
  5273. oc]B5#
  5274. Vuq{6 <($"
  5275. #)')*+9T|
  5276. KG?FEMR
  5277. "18=@?>C@Lx
  5278. +/xXg
  5279. c$,2Jw
  5280. te[`]^Hn
  5281. P1% &X
  5282. d97.d
  5283. ]Hq`XP;86'+*F
  5284. 1013?
  5285. D<24A
  5286. #73e40ko>(*!qTZ
  5287. MIVR]hGT
  5288. QlZ,70NSb
  5289. w_W_j
  5290. 58;RTIGCA>h
  5291. ?1O:6)
  5292. \X^F./e
  5293. riE&r
  5294. b9/{!:Rt
  5295. L[^6+%
  5296. pe[<,3
  5297. *14AFS
  5298. 2P=L=K
  5299. g^V<g
  5300. G&JsI
  5301. reswa_HKE
  5302. pnRLg
  5303. sXDebYM;:/.
  5304. LNU]e^F
  5305. ?A=?>0)
  5306. T.3Ct
  5307. !87s41om>(*"xRUysMDC
  5308. LRUcaiBV
  5309. PuY+4.+b]
  5310. >;@QIGID
  5311. W309\f
  5312. wpcK=
  5313. kRE,)!T{
  5314. UEF41( !
  5315. l9 LA1
  5316. b`TE=4`
  5317. PCU_k&
  5318. bphfap
  5319. e\N5._
  5320. :2(+&
  5321. (.0389be
  5322. *FBLF6
  5323. tC/A<@LI
  5324. %(#%G
  5325. $-Db>}p
  5326. k`fW?
  5327. mPFTz
  5328. gUc]VG65-2.0F
  5329. CTZefaA<;
  5330. -:4642
  5331. yK3?;:4.lH6<;3-Ez
  5332. "78u67sf8)+"yQTtjK
  5333. Qm\.3-/PY
  5334. {]_^h
  5335. l:<KRJLGEBCi
  5336. xf`<'
  5337. aH73/%
  5338. k^K;-&Y
  5339. yU2#.?ANf
  5340. QWPB\C]
  5341. kVE( o
  5342. #IHab
  5343. YAwtO3/#!
  5344. d%45@xqp
  5345. B"3,H
  5346. oI1\u.
  5347. cTZgo{
  5348. |aQv,
  5349. xXJ]q
  5350. 2W1:F|QU
  5351. mbQJ<-+-&(0F
  5352. I\b\?5/\Wdz
  5353. J:61;
  5354. s|y_lxil
  5355. 9;-lg
  5356. 56o91kh=
  5357. *9!{RZ
  5358. e[NOoumE^
  5359. Mnc41-3`W
  5360. yb[an
  5361. 3DROJIHD?=j
  5362. pdN|E4
  5363. XC82-!
  5364. tNKD0,)R
  5365. h*%]L
  5366. >2?)9M^
  5367. !;fves/dm>5'
  5368. b98Nlq
  5369. "%(',D[]
  5370. {PK-Xu.
  5371. n`nSdx
  5372. ikPf"kh'Vd$j
  5373. f|}RHhC
  5374.  '5BEy7l
  5375. ymWM@/+)',/6F
  5376. Y]S>5
  5377. vo^SZdz
  5378. G8=A>@;687F3h
  5379. /,N2'
  5380.  67e73l_3+)!xWT
  5381. TbLPo
  5382. Tfa/2/fS]
  5383. yiYaq
  5384. eI-2-$
  5385. w<:&V
  5386. s|P6&
  5387. a^V^~
  5388. =/:4'0&SOhbp4jyG:!
  5389. 5CQrk
  5390. &!(*4:oZ
  5391. ePF"Ou.
  5392. incQG
  5393. fB9?G
  5394. bd`W)<
  5395. <!05&+$I21Fs4f
  5396. qPH:3*)%+
  5397. GRJ?58*
  5398. 5/?<A=>967@?6(Ba
  5399. /,)V2'
  5400. "62c;4n_5
  5401. STnkaJTzAmKQr
  5402. 0 Ci;^
  5403. ve^iv
  5404. K[SOGDGB@B^
  5405. #!)-=S`i
  5406. XC/+&%
  5407. |z\Z;6$T
  5408. sk@9E
  5409. tSFZ\ZcuAh2srC.!
  5410. M1)%)
  5411. *-+.5=\^%
  5412. %aR7%G
  5413. (=?FB
  5414. }x[V&J0@`y$!3e
  5415. oH+91mnxGj2o
  5416. }fE831"-
  5417. t{rml
  5418. 3,1DIP
  5419. ~zlYk
  5420. q:=@?9735E:0/+@)/0,MU'
  5421.  32e<5of;)*
  5422. _+BXxK
  5423. ^KD`o@a
  5424. Ol`*2Z=3b
  5425. sefcg
  5426. wSWKNJK
  5427. 45EYan{
  5428. ^S<Y36c
  5429. dI6*%$
  5430. nXMA;+T
  5431. N<$\x
  5432. ]fxvS_7$pZ{9epF0$
  5433. y=6<Jo
  5434. cU7#:
  5435. j<=@H}
  5436. sQI%(+0@
  5437. )-#fo
  5438. Z_we8]N<gc~Ao
  5439. |dL920)+*&4.F
  5440. (08Ve
  5441. ulYUX
  5442. \74;<72<\>
  5443. ./3:$/.+LS'
  5444. 14f<7rg5
  5445. KUv]_IWwK
  5446. wKLSQEb}Hmf+aT54\
  5447. $ ./Bc\q
  5448. n}|],+
  5449. 6 A"-!
  5450. aD3(,*
  5451. jRJ2"1X
  5452. o[5c|j
  5453. >4<X`b~
  5454. YKusnD:fkB-
  5455. pB1E^k
  5456. D(PDY
  5457. fK6(;
  5458. `8@A{
  5459. uYQZ1!+-0V,&*[s
  5460. j_t{vGDt
  5461. zbF8=5',0%*#F
  5462. vg^[a
  5463. @&a.1C[w
  5464. f`d]SP_}kde
  5465. K.A09qX,.0
  5466.  -.,PL%
  5467. 23h=:tg4)+
  5468. GUs]dLWq@q
  5469. TOIFHd
  5470. Gtg)Z
  5471. pP[LFH
  5472. Bfbefm
  5473. (7bSlr
  5474. uq_SA8%C?
  5475. M7AT+)
  5476. {UD62$
  5477. hG35*Z
  5478. @*\KJi
  5479. {palO
  5480. iteJH
  5481. ^<.$#
  5482. Y1<8RNWa`x|
  5483. uy?>'O
  5484. \R|O9*C-3T7*
  5485. [b^IcPORTJ
  5486. ^ye".+
  5487. 0,)YM$
  5488. "54i7BeY9
  5489. !~IPp
  5490. H)JI`
  5491. Muf$B102[
  5492. fSUMCA?@e
  5493. bXugm
  5494. ,0mR`
  5495. ulQJ1&
  5496. x_B1.#!
  5497. mJ81%T
  5498. )Eg_rk
  5499. f(9:1QMo
  5500. ZIM2e{
  5501. [E0"$
  5502. C/@6/8<K
  5503. xP+ud}~
  5504. T;5 ;
  5505. XY.;*4
  5506. T41V+!Zjs
  5507. 2,+(2/F
  5508. zWRSm
  5509. {fmf_ikz
  5510. /-7%/&eG%
  5511. 26i8@cX:+,"xLRh\UGT}JHr|JGHF`}Pwa52
  5512. U\ODBC@d
  5513. 0C/)!HCqcXg
  5514. ~m_E7*
  5515. LFT[,RzmZ
  5516. H]/0XU
  5517. yr^27=sp
  5518. M14$Y
  5519. ~$/5.1()
  5520. @,%*"
  5521. :6CKY_
  5522. b9<]Xd
  5523. y%<OUV{~C40"Y
  5524. /+.Xi^,X;)R
  5525. hZP2}y
  5526. tgLG>;5.0&-+F
  5527. sQ>C@]Zm
  5528. T\f^bY]
  5529. &%/./
  5530. 0#u0%
  5531. !42j<?cV7.,!tMPi\PAW}GP\
  5532. KJIG_}UtXD%-/0X
  5533. ZTHAFA>h
  5534. j]G/%
  5535. fRG9./+
  5536. terpj~
  5537. u\72-S
  5538. F?:>5vhrv
  5539. H)RpP8GCg
  5540. yx^6:Z^V_JSga
  5541. @vjpw|z
  5542. ^fW[q
  5543. H91+ !$
  5544. eQSPU
  5545. (#%&'63@[
  5546. 9@#("
  5547. APTXMN|
  5548. wb+TS>Out
  5549. Qd~_g
  5550. j.FM[I`
  5551. 9.+)l.2)7P1A
  5552. ncVCIJ<57&%,F
  5553. oSqI:CHN
  5554. xwn^e
  5555. .!{]%
  5556. !23g:>YT7.,"tLMl^XEM{IKT
  5557. LjdH+*'(Y
  5558. rSPFA
  5559. {t_WN
  5560. \RH,[
  5561. jPR@;<41'$ 
  5562. iFUXfo`]nj
  5563. UH1/Q
  5564. C@6/9
  5565. 827IS@BTL?
  5566. z|mjb
  5567. I3PGSj
  5568. wQ68/,/-("!
  5569. "!$& !#%
  5570. '91'*.H
  5571. pnc_d
  5572. Z6XxAa
  5573. tILbajz
  5574. zf{!+/V@"%3I7
  5575. lk\Z^\RMH3/0F
  5576. fY[]V
  5577. [UbSaXPID?WH@b
  5578. P@LINQINQSOt
  5579.  63l:AMO:,+)jDGa[S@J
  5580. E)KF^
  5581. UPGDBAf
  5582. 5/pU5=
  5583. J:#@<)
  5584. p`Hr`BaT2!
  5585. kTQK:@C6-'!"
  5586. {ZN@cY
  5587. WE,3P
  5588. i=B;?><
  5589. 20t[CD
  5590. ^@=rGYz:&
  5591. xR<;9-62*.(
  5592. /"3#]
  5593. 1i8ie
  5594. qyoturqr
  5595. qS80.
  5596. ijg)*F[J$SM3
  5597. `cQIFdKCv
  5598. Y_UB=7F
  5599. SJIbXZSVSJ<=Bx
  5600. pJKAKJFES
  5601. 57l;<?V?0'AXE@W\N=F
  5602. VLHWQILGf
  5603. [FA5k|
  5604. RTGEBEe
  5605. B^>@9,$")
  5606. B=.1'$
  5607. weYJM[P
  5608. m@/.N
  5609. lZ?r_YD4B0')
  5610. pFCA>?>8623&
  5611. zWP^R
  5612. ^K-.n
  5613. ~"%62*
  5614. 1$ l}:W
  5615. l+DHG`u
  5616. Y$9SwRSO5 5g
  5617. e5'DRLu
  5618. pjhdQ@9F
  5619. {LERStRKXSMRSV
  5620. VJAFJ
  5621. cDMIDJF
  5622. 6:s;A6uM
  5623. &!fAJ<SON=D
  5624. XQLMkILJo
  5625. YOKDBEf
  5626. BQ>1'
  5627. B XQ;.3(%
  5628. e1'"h
  5629. j]DISON]ST
  5630. AOxmUlp
  5631. yK8-U
  5632. }XO31*,'!
  5633. xgb(@p$
  5634. w]|}s
  5635. ~fX_XbiRv{],"
  5636. n^ocLG;7a
  5637. 4,%,^qi
  5638. }a`VTJD?
  5639. Ubc<!xiZ>D.&+
  5640. {MKZQV
  5641. {JIBFJCHMH?
  5642. A>9FWNAGB[-EN
  5643. MNKr}=
  5644. qJGEDg
  5645. L8QA4
  5646. ydTECNM^`[
  5647. 5=798CLya
  5648. l[B2*' $&%&t
  5649. vjmG(Q&
  5650. ,\@:;
  5651. pwsew}
  5652. s/%"]
  5653. pi]I^E:8>52,
  5654. 1/&6gdh
  5655. raSOBFIJV
  5656. amSBC;3OvUMf
  5657. w    "<@n
  5658. yqmphjk
  5659. pMJQO
  5660. TJFGC
  5661. 1/0j:A<3=79H=d#HNFG|
  5662. L-IHt\LKz
  5663. d8AOKLJ
  5664. EFADk
  5665. @?:)lKa
  5666. rJ2%"$
  5667. |M%/"VH3*
  5668. }2( h
  5669. ydTQIfPf
  5670. >:4CFLQd
  5671. |cI51$!
  5672. xjsa?
  5673.     H9;>?O
  5674. UQ@8;97H=$.k
  5675. yd^H@
  5676. b/3#kmM7<85b
  5677. toqmjum\g
  5678. mKIGPc
  5679. |YTMHJHNGK
  5680. 12,:M9=<=
  5681. Aof)HQFM
  5682. NE@Av~IPy
  5683. p~l$a^F5/.,
  5684. eTZly
  5685. uyr`cmch
  5686. {f_\g
  5687. ^Uftx|
  5688. jV:,&
  5689. vxYbW
  5690. {7y{lSKUvj
  5691. h8.0,9+'(+!$P
  5692. |viey
  5693. 63%0N
  5694. Sd7+&,2`3
  5695. ):701@
  5696. fWJ987.42:9
  5697. lNF?5iEXS]
  5698. 1.&;-;
  5699. }cD<F
  5700. phfcib]\`Y]
  5701. N$MIm
  5702. ziplok^gx
  5703. %603.byXPKRWd4$,I`CT
  5704. IA=B_
  5705. TSKPF
  5706. zO^WK>A<9
  5707. (=]ol
  5708. rT7+'h
  5709. t~k^ci`f`d
  5710. {s_JRu
  5711. oh=/) 
  5712. j=FLMA.$#*V
  5713. &49AN]
  5714. R^dK9
  5715. vF*)5,'*,%$
  5716. sV7*5&$!
  5717. [.@142,
  5718. !KJ?E['
  5719. j[R>1 #$,6C
  5720. tY[PEt=AZYVfs
  5721. +<`8F\@U
  5722. xWMDF
  5723. ycaic\^aZYT\
  5724. i\fVRNC
  5725.  51/-).Z_WV\
  5726. *+Izbz
  5727. <=@FOu
  5728. PSTSM
  5729. WLKIC[
  5730. z~xl\KBD8J
  5731. B0TYMQj
  5732. f>8)%h
  5733. pqdbe[bedY
  5734. n[W@XY
  5735. %J.-P
  5736. qhnjYF43(#&XJ
  5737. _C\Qn
  5738. ZL^ocF'
  5739. Y7.! ]
  5740. 3sPbW
  5741. k3',*+*%(+&
  5742. \K9-/.
  5743. vasmP
  5744. ~:752
  5745. vcV<. 
  5746. }md`TK{duy
  5747. =:&FIM(V
  5748. l]LGF
  5749. i_b^`_Z]^[T
  5750. (*+(6^YaS*AHBPg
  5751. nqXE<ERSTRSQOI@<=:
  5752. 5    -1>DAEa
  5753. {zjm[K26
  5754. tbZLHI49
  5755. %3JFWm
  5756. |`VUu
  5757. syXVPO
  5758. }|{aXYI57$)J0
  5759. Jk]I5 
  5760. {c[EJ^
  5761. d8#+,-&
  5762. ^N=5'9
  5763. n`SVt
  5764. >(4.)(
  5765. pUac+
  5766. )%!*/" 
  5767. AMBH#'#
  5768. wbqkbU^K8,$
  5769. ~r_A3"
  5770. ~mkMLhQ8!
  5771. A(D4B+$
  5772. }gO?9F
  5773. jZacbZ
  5774. }pi`i
  5775. tcjb\ZN
  5776. YIFD%
  5777. $542.-.30,-+,+,
  5778. *-1/.
  5779. KQTSB9@=?>EJIHI
  5780. KFBFNPNKWOJ6
  5781. 8;=:FICh
  5782. zegB/%
  5783. hg_MJ8U
  5784. %9>N[o
  5785. dF1, 
  5786. }ajpghuR
  5787. jhXIl
  5788. Y%.101,
  5789. }{j[_W8.',3L9"
  5790. sc4|_P
  5791. wVPEH
  5792. 3!),+*0
  5793. ndhTJ
  5794. 9MZk,
  5795.   )FPAN
  5796. g}tYXZ>8(!
  5797. xkM0)#
  5798. sgYO[iYC/
  5799. qbK90F
  5800. de[Qd
  5801. 2EBC%
  5802. -+1-+(-
  5803. .,/,/
  5804. .>@LY`[I<E?:@CF
  5805. KIMODFHKQSOSVN586
  5806. ;:;<;BHGj
  5807. ~kT7'"*Bx
  5808. Xehktis]
  5809. iuWGC
  5810. p/8#&
  5811. /EXVfz
  5812. bRF[c~
  5813. rjonoh
  5814. sUZFIG<
  5815. '1/.206*
  5816. }rn^h<6,Q&
  5817. "}dECJMn
  5818. X)'1-."
  5819. ec]Wa
  5820. p;ORr,
  5821. " #+);7MWeY! 
  5822. nqaRA65.,)8NJIB<=?;8% "
  5823. pU;/"
  5824. wqcoO8WhJ5E&)
  5825. td[B6.F
  5826. a_fdcY
  5827. _<BCD&
  5828. $7102.-
  5829. -.2/./-?@CR
  5830. LPNUF
  5831. IMQLQXS?;@>=
  5832. @    <?CEHEi
  5833. lJ\elw
  5834. ?,%4S
  5835. pvZTKU
  5836. :)+'#
  5837. 0=QXu|
  5838. wopfQS@4Y
  5839. ~tiIA?A31
  5840. tcgG>8=Q$0H8
  5841. yhrwivxze_XQF
  5842. oM/3>g
  5843. 5)+.>
  5844. sX[fR{
  5845. *"(CSNQK\Y/?C
  5846. lXVQYPFJB@A;75<
  5847. %+'#!#
  5848. _XNUn
  5849. pmkpda
  5850. ygL54!
  5851. ~ynazMPjc3J5
  5852. u]Q?41F
  5853. +,.1-,
  5854. .2./25;@ED[aTYoXV
  5855. \[JMQRNPZB
  5856. FKLQSLJKRYELKLJPIMFEg
  5857. mv{pkpFLB/<b"
  5858. sjl[V
  5859. A1Q:0,+*&#"
  5860. %&2O^|
  5861. T@pETIt
  5862. >;P8%*
  5863. yN-)%
  5864. V-'EPy
  5865. odfWGD9_
  5866. qH@GOMFQ[VX[QM
  5867. L9/,!#(&:%!
  5868. =/]087lu&':*
  5869. a2,:>l
  5870. fbPTI
  5871. *>@`il-
  5872. +/>:NVWQlat|
  5873. }pY_VKPQHEB98>8-/0(,(#"#!
  5874. vktyxq~
  5875. zROC1$
  5876. l\VROJCaO?;=@:46
  5877. 7DHLgw
  5878. dR|Ycb
  5879. IGgD,B
  5880. {RYE:34F
  5881. 'E@>BF&
  5882.  38:92/-
  5883. <ADCONaigf`
  5884. VSQNIE
  5885. L    NMEGKVQSMI
  5886. QPKOPOGHFh
  5887. \out^OJOHIC6
  5888. ~WNOLY^ifbrm
  5889. XVO6014/+34547FGRew
  5890. v")`d7^sO:*$!
  5891. wZj_g{
  5892. zrl_VJ@Bc
  5893. qB6:3<:?<:@8D?7>/w
  5894. q|wp`WUFK
  5895. !&105FVdl~|pLX
  5896. KR(M_?8)%
  5897. f\mel
  5898. %9<d|
  5899. oGM?CT
  5900. 1>EWc[.
  5901.  3=FRMGZQfipu
  5902. xk]VhPVDF<=5<5+/3+/
  5903. &    # !
  5904. meg[gdkgeleqi_g_
  5905. mHK2)%
  5906. ?PA@\plSKFLH?G
  5907. M$NXh^n
  5908. +0u{@w
  5909. umUTI632F
  5910. ;B<?DC'
  5911. "67963/+,-
  5912. +,,+,.-.0/.56><:?NP_cgkf]^OMLOJEMGJQFIOPQTFGRKR
  5913. P    RKMHCHk
  5914. :DK>0
  5915. G#93'.3>
  5916. M@DKC3i
  5917. YgNIE>9:AD8ECEUX^u
  5918. l&*iaJgK;'
  5919. s[PQKh
  5920. )21256-0+232#b
  5921. zua^CM?%
  5922. S91.(
  5923. %!*'!),/=8?[gmnsi\xor938n\
  5924. YR<VA6(!
  5925. [Y]d\
  5926. o1 &2"=
  5927. \;30d
  5928. 4;AYQY-
  5929. 2?<CPQYarpor
  5930. v}_bUaOJGF@9>;4-241,)&(% 
  5931. jO]VJIN][Z^`UXOUW[R
  5932. qE@4$ 
  5933. nR@IJ
  5934. _\Sadfus{
  5935. vbXNLG650F
  5936. \MS`Rk
  5937. DB>CEA'
  5938. $657520.2-.,+-/01632398?A>?GO
  5939. \gidXQKPHKFEF
  5940. MQRTSMNQROLON
  5941. 'N0A<P~
  5942. j+`mE
  5943. ja\`bP[R
  5944. W\`ck
  5945. |sxeadphgSd^`HIB&
  5946. S[RN]
  5947. skz}hskd]UJRJ@
  5948. Q;7'|WIEAG795@=>FThce`^ig[eROSa
  5949. IXPR=;6(!(%
  5950. SRMSZrqilw
  5951. :>CHPY[/
  5952. !'*)*-2BGKb
  5953. qjiheHI?@GC9<43+,./1*)-
  5954. xlvmf
  5955. M@>@>/,7/>9:6>6:A46>@=?d
  5956. tvr|w|
  5957. pmjTIXM6;?10+F
  5958. fDJLQG
  5959. 4DBDLI<(
  5960. !57:9>73
  5961. 12567<;A
  5962. TNWV_knumi`bf_^QJIFK
  5963. MPMNMROTPTWX^YZ
  5964. uw~xkim
  5965. n"`eprupu
  5966. zqrYh_PRJARL5*-.%#%!
  5967. d`geYjv
  5968. p1#!?
  5969. jl`VYxlWUVILVXYNUifhmnb|tc_]PVT
  5970. >;H?-%+) 
  5971. WKUbUdhpomy
  5972. ~{qutz
  5973. D<58CWT_1
  5974. &'&('(.-.02
  5975. 0    &+(!
  5976. uvqj~u^P
  5977. ICD90:79+*F
  5978. DJB9*
  5979. !"$&(&%"&$
  5980. ?odj$
  5981. Aqgm)
  5982. 9IQ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ9IQ
  5983. "%--,=?1>?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1>?223/
  5984. DYd\TQ
  5985. \TQDYd
  5986. 23/>?2=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=
  5987. ?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1>?1=?1--,
  5988. 45/>?2=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1
  5989. =?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1>?1;<0#$$7EL
  5990. YmhIX
  5991. UhuEPvERq>J
  5992. j;Ao?J~HRu?L^-5X+0P%*U+-U).J!&I %C
  5993. #D!%9
  5994. WdxK`
  5995. apS)1F
  5996. vR    zX
  5997. wV[M# @
  5998. Qjm;`h7mS'E9!-
  5999. E\}A`
  6000. Gbt5Tt7Pv9[r5R|@Wu<Zw=\|>`
  6001. VgyIS{IP
  6002. R`}KXp=Hm;Ij6B\*5T(&I!
  6003. X(#M%(H #6
  6004. R[{MR
  6005. euf9@D
  6006. !Q#*G
  6007. X)yY-zY.{S'hO!\yT
  6008. cdV.*G
  6009. J# F#
  6010. B#!@!
  6011. I$$B"%G$&J&*J(
  6012. .M*0G$"S+4G#-8
  6013. @!$B!"J'+L'+B
  6014. T^sDdiD
  6015. j}w?U{?Zw<Ul/Kp3Qn3Lg.Df,Fq5Rf+Fa)Ad,Js7Tr5Tp4Nw;[
  6016. al|VbyP`
  6017. Yfv?Pr>Kr@Ja5<]0.Z+)M"&I $@
  6018.  G !3
  6019. \g~R`yKN
  6020. kt^25J
  6021. Q"!b36i>=b3AS!)]*2T%*_4C
  6022. N nP"jQ"fO aM
  6023. s{j>GO$#]59V.3U-/J('I(.N)3P+9]2>[1EZ2E[4F^5N`6UU-KX0MS,GO+@U2DW3KX2E[2CR#3
  6024. K]|CY
  6025. Sgl9Ni1Ii0Ee.E_(>Y%9T#4Y%:_*A\'DS!8]*<a)Ed,Cf/Ei1Mu=Us8X{?^
  6026. eyU9IH3=^8J
  6027. Rad<JkBN
  6028. VgvAKb6;X('P%&N!!L
  6029. oh\15M 
  6030. S&&`29R"
  6031. Oam;Ib3@b0DqBX
  6032. M$xR(
  6033. R%sL [K
  6034. |T`oG_
  6035. q~mBWe6Nc6Lg:O[3Lg<Yi?ad:^k?ig<fe;de:bl@re8mqD
  6036. mAyi?n_7ag>eh;^_/L
  6037. Uh~CW|FX|K
  6038. \.XxM`p?Vl8OS%6\*<K
  6039. 4N#1H!/?
  6040. 3M#4K!2M
  6041. 5N!4X&7X&6h1F^0Gn5R}D`
  6042. f}lL[
  6043. /G+;O';
  6044. 2uK`{Rd@(78
  6045. _su?Om8:V*+U)*T%$I
  6046. !G!"6
  6047. sIJZ-$G
  6048. S%'b42l9Bl<G
  6049. ow|GZ}MjuFar?_uCg
  6050. P&zP&rO%vR#lK _M!VM UH
  6051. -U"3^.BwIe
  6052. _Z}N?
  6053. tFrvHxk@ftGs|Q
  6054. qFzwJ
  6055. zUbR#&O('C!
  6056. L[n<Jl9V\/
  6057. J(AC&1/
  6058. (a:QO%:?!02
  6059. 2T%=g0OwB^
  6060. b}d=TR/@|]p
  6061. Y0Ec8Tb7I
  6062. I&>G';9
  6063. -g:PD*8,
  6064. ^y{FNj6?R&-Y))E
  6065. aV`2-O 
  6066. X,'h:Eo>PyHY
  6067. T}yIk
  6068. K#oM$iO"dP#fO!WK
  6069. R!.U&0Z,;f;P
  6070. t|xJMzPP
  6071. uMi]/<\0*I& 5
  6072. Maq?LZ/AS*<oMv}Z
  6073. "c5O9
  6074. ;$#S6,Z9'`A,\E9^J<fHCdB:V03D#'7
  6075. {Vg~P`
  6076. dt|TkoF_
  6077. Y7MfEYmL_nJU_A@I*8G)>0
  6078. QayBVb+/U'-K
  6079. ~~UWh72d4/W(%^..n=C|Nc
  6080. tGx}T
  6081. M#pN#gQ$fT%mP![H
  6082. %U!4n=S
  6083. pIimAfk?fpAhuFud3`a1P
  6084. yPtj;Tg<FL$&5
  6085. Yi~GZy>Tn8KJ&3a=UzQ
  6086. (J%:5
  6087. !O40gO=
  6088. r[tVI`=7uP^
  6089. yXp_@QvQ^vF[
  6090. I^u;E](5Q#&J")?
  6091. |MIf74a/9d39o>CqA@
  6092. b)rc+uc.sP
  6093. pCdX"Nd-i
  6094. K'wL#oK lJ!pP#fI
  6095. l!{f"
  6096. *_&2[%-]3B
  6097. S2}I#
  6098. ['Xc1eb/hc-nb.kf2tb0ii6sd0l^*]
  6099. p@dc6AU,7;
  6100. KZw<Wq6Gc,CL-;oQ
  6101. /C!7E&8&
  6102. B)/nZE{_=
  6103. xe{]U
  6104. Ket>Md.>['.Y++B
  6105. dbuERpCFrBDzJ[{Mc
  6106. a)r[#f_'jf1od-nc.oW#WY"h
  6107. O_,[b/aR
  6108. ?%s; U@"ZA
  6109. iauG,
  6110. Z%oe.
  6111. d0}d1s`,r\'m
  6112. k=U^1.M' 0
  6113. W_~IQs8Mg.JY'8I)7O,U[3
  6114. Tdq=Fb21V"3K!,9
  6115. PJvETyHX
  6116. i3}Z!aa)j`*fc,pa+ga*hd0ub.iL
  6117. Tw|Jf
  6118. l2wd0je2h[)X[*ZQ
  6119. a/ua/z`)
  6120. rDw_2AQ)!A!
  6121. YZ~IL|FVm5Hk7IM$4F
  6122. 2L)9hJ
  6123. %\83}bE
  6124. ]o}INg5=X%4O ,?
  6125. [`yH\wEV{JU
  6126. mZ#ea+ec,ld/ib-lZ&Yc-hc-kd.iM
  6127. c(sk3sj4yb.X\)VU#MZ(PN
  6128. bN SK
  6129. qE_f2PzJo
  6130. ]*w^*ua,
  6131. g8`Y-0D"
  6132. J\s:Fn8Ko9NT&6R#8O)6V3[gB
  6133. 4R5:]DSiGiL)G
  6134. +eCD|eJ
  6135. Tgg3AX+1P$,M +J
  6136. YkyGS
  6137. Y\'Y[&V^)`_*dd-k])aa,hc.k`,e]"rM
  6138. e}~Np
  6139. g.{n7
  6140. e0ia-]_+VX'JP!?_.[L
  6141. BE%pKF
  6142. y?N|G^zLhuGb
  6143. bzQ#rA
  6144. dOrB&vB
  6145. c.{X"p
  6146. c4VV,2F#
  6147. Yl}F\m4Ko=Md3B`(DT#8:
  6148. 'K&J{X
  6149. U/>}\BjQ0}nT
  6150. Yfl7>k?H].8L!)G %
  6151. \"y_'pb,q^*dZ&R`+b_*eZ%[a,p](b^+e[&dT
  6152. e-yh2n`,[`,W])PO
  6153. @Z%XU
  6154. >"%J+UD
  6155. ~U@rD%yJ&s=
  6156. j=^[/>R)#D!
  6157. QXYFO}L^
  6158. MWtAKg3GY.>[$AP#<9
  6159. +E*9tV
  6160. ~ZfN(s]=
  6161. }mrTv{p
  6162. drxFTpAXW$7M#+D
  6163. a)ta+ri5~c,k\'^_*Z^*ca,iZ%`b,oY$fT
  6164. V&wT#wR$lN!fC
  6165. h4{i2|h2sa,_T
  6166. G\+RpGu
  6167. ]B}Q(|Q7
  6168. {Q|f:IW,4J&!B!
  6169. Wl4&1"
  6170. Q^l;Fb.FN$5F
  6171. &5$,iR
  6172. }EYo=Cc/BD
  6173. c,ue4~i9yb+r]'`^)f\(c`+mY!cV g]$h
  6174. U'{L"eN"fN"_M!\I
  6175. ^%hg0sxN
  6176. X7bP+SO([K&XR,cW2
  6177. hOke}
  6178. tHji;OV,,?
  6179. Mc<#1) '& (^?N}N]m<O^-=X'7>
  6180. >Q+jqU
  6181. }CYo<Ce2<S&/@
  6182. i9}j<yc0sd.q[(eV!_^$q_'c
  6183. T&xK cK!\M"\J
  6184. WJ!YR%fJ
  6185. _dB|mn
  6186. dAKO;ap
  6187. yIrk=`d5J^12H$%@ "@!"B"$B"
  6188. a|b?M/
  6189. %:'23&/#
  6190. "kCVm<H\/?M$37
  6191.  bHx^K
  6192. xUog+
  6193. e}u=H\+2P%(D
  6194. f7yuH
  6195. \$q["ug.u
  6196. ZM"dH
  6197. TJ QK"KH IN"fG
  6198. h?/=L
  6199. z}R;{P;
  6200. rBzd5Ua2CS*0O'(D"
  6201. F$%I&"J%
  6202. eyvG\E(3fQlI+b8&5
  6203. a>Jm>K`1@S(2B
  6204. *O,feH
  6205. pAnm4
  6206. vBJ`/3M%%E"'
  6207. kJ dF
  6208. MI RJ ^G
  6209. iZo7D
  6210. bH}YF
  6211. a3B`1QV*>P'+T,1J''D!
  6212. byxI]U(9b@Icp
  6213.  xPXi=Q_2BZ,;>
  6214. .D"34
  6215. JpwE]]
  6216. }UesC
  6217. ]eo==^,1K"'?
  6218. jI!]B
  6219. IJ!SC
  6220. NM#]H
  6221. AF#OR3[W:xN3mA
  6222. nC `I3
  6223. eWyN:xQU
  6224. c9cZ1MN&2X/Aa6Pb7Ja6Ka2D\+4
  6225. TbN+;Y,.ua
  6226. >)]6 1
  6227. Ram>Qe8L].ED!2< 1%
  6228. hkzK`o4X]
  6229. Xbq;W^+
  6230. LZ{DK{@Lo7?i1:t<<f36\*0H
  6231. eK!fG UL#XF
  6232. MF PH"[C
  6233. LO&^K Z@
  6234. >Z9^jZ
  6235. tSq|au
  6236. o^zD)9Px
  6237. T-1`2@uDX
  6238. Zfc?J_29
  6239. S4BwB^R0>X0ES'@O)95
  6240. m]b$gr
  6241. Sij8WP
  6242. d{{F`|CWzAWzBUu>Nu?Hu>Hp8Bs;:j6=h2.d31R"(Q&'@
  6243. eI#YM$YI"JD
  6244. XJ![F
  6245. LG LO#cE
  6246. apW|S\
  6247. `0Tb3X[,OO!=jCW
  6248. 59z\~
  6249. ,1#Trp
  6250. X25R0/
  6251. tpy[UdC5`5$qD=
  6252. ^pi@Lj=F
  6253. [:JJ&:$
  6254. +S)@M+<3
  6255. xW-uR,
  6256. zTla2_K!YA
  6257. Rkt<Tr;Qo;Nl9K]-:g6@g2C\+/Y*6_.-U('L#'B
  6258. `J ZK$NA
  6259. TK"cJ!YF
  6260. M!`S$oJ
  6261. hI$XWa
  6262. pC{n@tm@oc6__/Wd9N
  6263. FXJux
  6264. exzIWf3B{Pp_k
  6265. ,I&:7
  6266. Hi}9_v,x
  6267. n<r[2[F
  6268. Qjl6Pk8Rf7H\/@Z,;^/<\-4W*0R(1M"'H!$:
  6269. FL"UH"LI!XN$fQ&oI `S'oN!]Q#nS%jP
  6270. IM'YO9
  6271. rFzm?noBs[+\kIg
  6272. WFTr^]
  6273. H)dJ+Ile
  6274. EF~_18o4C
  6275. wjV4'O.$Q(
  6276. ^pp7Hq6Mdc
  6277. "L#:7
  6278. QWr=`p0Hh!Hb
  6279. q2xh1aM$^S
  6280. ~Kfg3Kf2H\,BW-<V+8S&6X.1V,$E#,A
  6281. `V(yL#YK!TP$mO%lM!cO!mN
  6282. V&vZ)
  6283. IS1WL6
  6284. k>sb5bX)W
  6285. bHD+)
  6286. O8O_-.uGWtCY
  6287. ~^:_6    g:
  6288. Ict@[
  6289. *P+;1
  6290. GZq/Tl%@c%G]
  6291. g^/zf0dW*^R \[*
  6292. Hfn9Rc1G[,@V+9C .I!/J$+I$*<
  6293. U!tO!mO&eU&rU(pQ#jS$sV%~V&
  6294. Y'w],
  6295. @Y9]T@
  6296. ],vc3isRr
  6297. X/4d07pBW
  6298. _;    W2
  6299. Oaoa{O
  6300. XFuiGP^V
  6301. &X3C; /)
  6302. EZr7Pg*E`
  6303. dQ<fY%]]&TK"eUI
  6304. Lkt=Zg4K`/AL"1G 1> ,;
  6305. T$|\/
  6306. \.{b1
  6307. ^,qlEw
  6308. pLbvAX
  6309. Xu{Lg
  6310. P(,+9
  6311. u:9d1=}Qf
  6312. \v~Mj
  6313. O`XDPY
  6314. (V2E+
  6315. jP,sT0
  6316. LbyJYm1Wn&D[ =J
  6317. fW/VR1QD!ZR>
  6318. [xzE_`0B\,=I"1G$.5
  6319. Bc>hXB
  6320. h3Bm@SzOfyKb{KeyIb
  6321. K]|Jb
  6322. Yp\3ARTn|
  6323. Sa|=Z{AZp8Ka%<K
  6324. elC]O?
  6325. tAeeTfS [J+OH)
  6326. ^{s<Ua.DZ+>O$6O#2>
  6327. >eCeYD
  6328. V#.Y-9i=Od6Ik<Pp:M
  6329. Wfm7PZDY~
  6330. vZ'sW4
  6331. |_{Pl
  6332. 7q|1\t5Zl6QT%51
  6333. }PK3gd+LE"xsf
  6334. _|r9Qj5G_.EK#7D
  6335. 0hLl`J
  6336. UL XG
  6337. N!'L&2U#/
  6338. wiawiX
  6339. Uju>XY4MQ<tO1O
  6340. [O.sY/
  6341. ]mu2aa,Y[+NN
  6342. jY6W8
  6343. _K tuA{s"vn-
  6344. GD!D:
  6345. zBab-DV&;F
  6346. @tT{gT
  6347. hEuW?
  6348. d6Fd8I
  6349. xglcz
  6350. Ngs<SQ$3RCJI\
  6351. U6"fW4oX5
  6352. ^t{S^v<
  6353. fZ]3_f6wxc
  6354. mVUN7#<$
  6355. gp/cZ
  6356. p:~{qA9
  6357. |Fdd0IW&=L$69
  6358. 5rTrgR
  6359. $V/=i8F
  6360. [t}GaxA\[-<po
  6361. )}eUeP-
  6362. Oi|@cc0Za
  6363. mZLnc)xu$GA
  6364. D=#jhP22!osX
  6365. }CXf.CZ+4E!/8
  6366. 3oQqfP
  6367. |K sN!zJ
  6368. Pis?Ws@O
  6369. C@i_~
  6370. kIjsSrwY
  6371. a]u3Ts,fu7
  6372. NP*TZ
  6373. <>(egQ
  6374. K]i2AZ'5J ->
  6375. ;sQ|`L
  6376. O yL fG
  6377. cP_Q6AG&1{Ya
  6378. qnVMcM:
  6379. ^+}V%
  6380. Ncb.A^Ddd
  6381.  R?[U
  6382. |wPckSZS9
  6383. \{}Uiw7
  6384. sp'44
  6385. Geq:IX'5P!-H
  6386. >nNr_G
  6387. ]7hL=J0
  6388. Qdi7NS2BkR|P
  6389. Ef@4Db
  6390. ysF7/
  6391. y>Xm5Ce0=W'8M
  6392. 3lKr_L
  6393. N"tM mE
  6394. [2]X,SW-d
  6395. Fz]HW6
  6396. Vf|E``0Fa(<Q 'vo
  6397. qsMyv
  6398. 9QY-UA*
  6399. Oam3Hn3Ib/7Q#3J!/<
  6400. (kNohO
  6401. a6gR&U
  6402. `RfB.tO+l=
  6403. Y~bIO+
  6404. sM    }Q
  6405. [m~Hal7Mh3Ig9@M\
  6406. `lHwxS
  6407. BVo#S^'EL
  6408. QsuHXonZ[
  6409. cuvO_r=Wh/8Y%7R$2E
  6410. 7nOvdN
  6411. zS$~N!lJ
  6412. f>{\2da9h
  6413. Ncq=Sk5K`.=f_
  6414. ? Y`MX`z
  6415. lzzYjiA
  6416. EUz>Pk,F_)TY!z
  6417. g:UU2Eh;Qc(F]+4V&1G
  6418. ,sUxfV
  6419. pJ!bL
  6420. [q|F_u<U`,=`3=m
  6421. YWk<Ra*LZ
  6422. 1J!4e-Ob*:Y&6M!)A
  6423. f<uIKpB4
  6424.  oV{mW
  6425. X4"g;
  6426. RhzBZk5JR#-R2;
  6427. |hixY
  6428. G^uFYU*Od)ai*
  6429. t6yi*vj-
  6430. ]6LH 8L#;q<Q`(DX$9P".C
  6431. ^`79sIEg8!
  6432. P#{S)
  6433. $kUxo[
  6434. T%    g7
  6435. c@.m@
  6436. Oa~GWt;Pj9EJ
  6437. 'T>Lc
  6438. ipxNc
  6439. LZY+`o3
  6440. ~Cvz:nf,h^.]R
  6441. wEU{Gcq>Ti.H`/GU(8F
  6442. zRW\36qB9
  6443. T$hT"tV'pQ#rW*
  6444. Q#}V"
  6445. #mQceS
  6446. dHhpQZ_4#M
  6447. Ob}GXp;Pj8Gd5DE
  6448. D8zG&8]
  6449. ll:om+SS%
  6450. x7yvAmm2nd1]O*WV!XY(NO
  6451. HTb[f
  6452. bz{>Y_->K*9[/9W+1?
  6453. |c9>e98vM<
  6454. JM BM#[R!iK
  6455. &pNgeP
  6456. I bM!qE
  6457. Wl}J]r@Sn:J^->Q&89
  6458. ([IVdU
  6459. Ow}W{
  6460. Fsq2pq6il1r^%TJ!LP)CI
  6461. W`1qrWZ\8f
  6462. t@VF%50
  6463. )T1;Y(3L$,;
  6464. yQDh9=
  6465. ^R&[I
  6466. &mOegT
  6467. SauBQ`1E\0AK(7P&5;
  6468. S_\%bp(
  6469. Gy{=un-`l*ai%_j+UO&HI'DG
  6470. kbmX{
  6471. pE_E&6/
  6472. (F'4i8IW+7?
  6473. ubX((
  6474. dN!QD
  6475. rT_hOs?
  6476. ThxEUrAR^6DN)6L%2F!1=
  6477. 1I/>lt
  6478. ijqHbk?SY*}
  6479. Rlt.Ne%Cb.O]+XU-II$>M
  6480. `lgbYlX
  6481. a~unBG0SS
  6482. h@W[3K; 3Y3BxUZZ)<G#.A
  6483. WX+uxU
  6484. d:rh<`[,LS#;M
  6485. qR]mNc@
  6486. ]hzG`oAQi:JL%6R*8A
  6487. D,V>v
  6488. Rdm8_\*y
  6489. rQ^Bm
  6490. A]q%J_'PY(NU >D
  6491. ES%|y\\e\m
  6492. YpnE_X3J|ZfN<CsP\T.9I*-8
  6493. SX!JN
  6494. pQXkPr8
  6495. Zq|G\tEWyKSj;LU+>R(7J%0:
  6496. ,M'9/
  6497. %T?^ez
  6498. pip6eh,x
  6499. rQU,\l L\ I[
  6500. {fhf|
  6501. ~JivJzr7{yl/;
  6502. qH\`=NA*;
  6503. L7?oDRI$1:
  6504. Z_)_[+?G
  6505. oOZiO
  6506. @ j4#
  6507. }`qf<
  6508. L\r=SzIZm;HS*6L%3N%3;
  6509. 8 )_K`
  6510. IgsC{
  6511. ]rxBgm9hk(enG@T(Ra
  6512. Uf)m|[lvoklPz
  6513. TvwHdm<U_2Ye-oj`5;$
  6514. fv\;M=%3%
  6515. &uS\J#-? +6
  6516. K 1S&2
  6517. m:rV$3Z
  6518. jKSiO
  6519. B%w3$
  6520. sQ9xO(
  6521. Q]yGXe;Jg6AP(2X-9C!1> 09
  6522. *<!/.
  6523. pp~Pt
  6524. Mjh8__4\W$KU"Qg-juNv}Q
  6525. rkjr[z
  6526. `p<]e,[X,TH%\U-ZVQPQD
  6527. sxzReA%2*
  6528. %_ALQ-:F&02
  6529. pOUkT
  6530. qRDoD
  6531. {U'pI
  6532. \l{HW
  6533. MbtHVk<EU,:Y/9K$4G#1>".; 1)
  6534. wYw\lrU}
  6535. ZniAmo:^a.L\$[c
  6536. [c`TfXD
  6537. Ouv8lk'ec/U\1\\)[N(VF*G9&ie\
  6538. E)7:!0:"/qKWI#1C"..
  6539. &Q -I
  6540. "lLWfO
  6541. C'|4+
  6542. N$z|a
  6543. yZRtH
  6544. Q7    3uW
  6545. Uh~JatCVoANg9H^3EY/=L)9A
  6546. -D#24
  6547. leufd~s
  6548. ~Ozp8^h5Wk4Ul)bj2jr;
  6549. a{{b~{h]bJb_Aqw-jq9]jAVU)RN"ME/HN0?A
  6550. ~XiN/<<!/iEQd=GT+-F#2-
  6551. `z_3EX$4V
  6552. iIWdM
  6553. S`wIYm>L_2FV0<X.>S+;B!-; .*
  6554. vKta<{r@jzh|
  6555. |<pe6sq=jo4]l-~~Z
  6556. oqub}
  6557. `asElmBvyIeYLRC
  6558. YX5AD&JJ$ ,
  6559. buM*;_=D{Pa\1>G#*L%-:
  6560. b}zG[
  6561. kEXaK
  6562. v\}eJcI(Dv`
  6563. Qc|JWyHZsFV\.D`5CS*:Q%7=
  6564. ,?!/3
  6565. m?rd9ZM
  6566. quU`lSWgCk|cx
  6567. qttbfaI}rcjoVhj6ih4a_#bW*eb7^R9gVbeI
  6568. nefA?+37
  6569. ~XiY2F
  6570. `eg/D[*>I"/C (>
  6571. G!RT0Z
  6572. %h@L]N
  6573. Zl}K\~EV{DSpARc3Fb3CQ+:Q-9C
  6574. @5<vZS
  6575. sEgn>be5QI#ejAYTFXk_a~]`lH_b@^[,^[1bS*RH
  6576. JA%L@ OL'LH"k`Ms[
  6577. ~Wgn@WsBUi1:P"0@
  6578. e?B\a
  6579. K\|FPq?Oj;Kb5A
  6580. ]/@\3CJ"5? -9
  6581. [oqEf`={yahZCUR=oqX|zX
  6582. x\wn[zlVyl`pk`rk[ghKYOA^OSiJ
  6583. Toq;Wn9Ih18L"*8
  6584. KK"bI
  6585. h=?ao
  6586. ZkzKZzHZq@Ph8Kb2C]/@U-<L$7E!/8
  6587. /nOU~
  6588. |bslWvmVik]x~fttLhdEs_Kor`~tWskWrfPm^Mb\IWKD~v~y]
  6589. Ypr>JsC`wFd
  6590. Jhm2Un::_*6L#&5
  6591.  _89\Q
  6592. LcvBYk9Og5Ia2F[1?X*>B 0<
  6593. *Z,CsQd
  6594. e\dL`aEefQbl\
  6595. XmW4QH*_U4WE-J8*7,
  6596. ]q~JZyCTh<Po<Y
  6597. Rk|HYi4E`-3T$2I!%:
  6598. UizHd
  6599. V12SG
  6600. ]ozJ_zG[xDXh:Me3Ib0?Y-?L&9>
  6601.  B%/7
  6602. vZ`HVP9TR>\bG^aHipLme=A=';(
  6603. c]NaSKgUG
  6604. ^qzE[l8Jn<Sl;Ui5S
  6605. cww?Xm8Fe5;Z*5X'1H (5
  6606. .c0Bt>T
  6607. R%&PF
  6608. WguCWp@So?RwI_d9J\.BK)5J&:F%20
  6609. *8#*J'.J!8_,E
  6610. N`wE\l1MT*;W*B`3J
  6611. Ojm:Rl6GZ*3^/.R!1C
  6612. v^\lNSrU[
  6613. bw}Td~Oaj6Ko?RuI[c4IS/BV2?K(8D$1;!-4
  6614. ': -/
  6615. &L'5^1=zDZ
  6616. Sr}F]yBUc1ES)=W+?i4Mn;P
  6617. O`zCXn9N^+;`,6V&2P",>
  6618. ZmzG\}J^o;Oq?Ne4GY3F:
  6619. *H$6I&6?
  6620. $;!*E"4B$2h7GtAP
  6621. j{v@X|EWo<PT*9]*ED%/[)Ei6R
  6622. }Na}N`x?Xd.Ke/@\(5],3O#,K
  6623. I-Z? <8
  6624. NYo?KrBNc5Jd<IR+:?
  6625. 'D *J%0I$3V*>sCL
  6626. TcxCKt>Nx@QL'4E"0@ +A
  6627. -k1W{A`
  6628. Vkp<Li6Fk6I^+:c21W'0O"1L")?
  6629. S`{MYvDQi;Hd8H^0?S);I(68
  6630. *D$3P%5oCS
  6631. HVs;Nh;<g1C<!+,
  6632. Lfs:Nf3@c/@Y)9S&)T'*V&0E
  6633. o{~Ug
  6634. k=mtC
  6635. = ~A v@
  6636. Rd}L]}JX`0<k=I\2C]7FL)6=!+?
  6637. ,= /5
  6638. I$5S*8j8S
  6639. OY}F_~H[l:BV+4G%-9
  6640. 'R'9g0I_)Ec-A`1;]*4f03R'0I
  6641. /J"+@
  6642.  > ",
  6643. Z!fY!h[!tY#y
  6644. M^|GU
  6645. P\vFRm9Io>Mh<JP(6N'8J'4B ,5
  6646. 2I#6`.Hm8R
  6647. K_wBMl7Gl5C[44R,+R)*@
  6648. +M!4I
  6649. *M%-J#(G!&>
  6650. _#}]&qa)
  6651. G&~F#nD \<
  6652. Zj~KVuHVuDUl;D~I`f6FU(9T07H'3@#0E#.:
  6653. 5O"=b/B
  6654. MewAVy@Ot>Fc0:[-6]70K(.O)/5
  6655. $J%):
  6656. D!}E$}F!eH$g@
  6657. T^wIZvDQp@Kn<J\1@W+=R+5O'38
  6658. (B"-=
  6659. .N =P$6v@V|Ka
  6660. Wl|Dd}GZ}IUp7Kl7H[-=V'8S+6U03M+,B$); %?"%0
  6661. kC f>
  6662. etzMV{ERwESj:Jh7Ii9>a4A_3CN$5M&2<
  6663. /N#9i2KsBRzJX
  6664. OZx?MuDT|J_x?[
  6665. M]~HX
  6666. Jb{I_~Hbs=at=Qo;Yl4Tp;Vj:Mi:>Z07I',V)4S)19
  6667. &@!&9
  6668. [!}o<
  6669. ['g\)dH
  6670. K`k.(%a^^ebcecdfdgeceeceedgecfecgecgecfeceeceecfeceeceedhecgechechecfecgdcfecfdbddbcdbddbddbddceedgedfedffeigeigfjfejgfjfeihhmihmihmjjojjpjjojjnhgijdcmb\pa[rb[sb[qb[pa[oa[l`[l`[j`[h_[g_[d^[d`_ebedbddbeecgeciechedjfelffmggohhphhpjjrkksihmb^]b^]b^]b_]c``c`ac``dabeaba^].(%K`k
  6671. *03%(*,15,15,15,15,15,15+15,15,25,15+15,15+15+05*05*05*05*/5*05*/5)/6).5).5).5(-4(-3'-2',2'-3'-3',3',1',1',1',1',1(-3)-3).4).4)/5)/5*/5*05*05+06+05*05+06*05*/5*/5*06*/6*/5*/6)/5)/5*/5*05*05*/5*/5*05*06*06*05+16*05*05+15+05*05+05+15+15+15+05+05+05*05+15,15+05+15+16&*-
  6672. &*-)/5)/5).4(-4(-3',1',1',1',0'+0&+0&+/&+/&+/&+/&+/&+/&*.&*-(,/).0)/1)/1)/0(.0(.0*/2-13,02+02+02*.0++,-+,*+,'*,).0-24.24.24.24.24)-0'*-(*,+-.+23,24
  6673. -24,24',.&*-&+.&+/&+0',1).3(-4(-4(.4(.5).5).5)/5).5)/5)/5)/5)/5*/5*/5+05+05+15+15+02'+-'*+'*+(*+'*+'*+'*+'*+'*+'*+$')&/4
  6674. (-+/3-.3,.3-.3-.3-.3-.3-.3-.3,.2,.1,.1,.1,.2,.2,.1,.1,.1,.2,.2,.1,.1,.1,.0,-/+.0,./+..+-.+-.+-.+-.+,-+,,+,,+,,+,,+,,+++++,++,+,,+,,+,,++,+,-+,.+,.+,.+,.+,/,,/+,/+-0,-0,,/+,0,-0,-0,-1,-1,-0,-1,-1,-2,-2,-1,,1--2--2--2--2--2.-2/-2/-20-20-20-32-33-33-34-34-34-35+01 #%ARY
  6675. RlyPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjw
  6676. PjwPjwPjwd}
  6677. PjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjw[u
  6678. PjwPjwPjwPjwPjw
  6679. PjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwPjwRlyq
  6680. <LU1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ
  6681. 1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ5FNf
  6682. G\g<53
  6683. w<53G\g
  6684. ~z$/4
  6685. oMTfEL_>M^@PX:SP4UW9UcD]dD
  6686. X)lQ&{J"
  6687. M!lfH
  6688. Y6~rX
  6689. jRjgKToV`pXlu[jnRafHPmRYgL`iLQjMNjMRiLT\AK
  6690. K"bS(hV+kW,mW-nV,lV,lV,kS*jP'eS)hW-lU*jX-oX-mX,mT)gS)hT)jT)hY.mW+jU+lO&dL#dI
  6691. aQ(hcA
  6692. [4qU)dP'cR*gT+hR(fL#_C
  6693. [I!`J"bQ(g]5u]8x[5uX1qV/oU-lW.nV-mV.mY1pU,kU+kR*kS*iV-kT+kQ'fR(gN%fQ)jW/nW.nU-mS*kP&fP%eL#eL#dO&gO&eP&fP&fN$eQ(iT*kV-n
  6694. Q*kR*kW.qW.pS+kW.pU-nS+mR*mY1t
  6695. Wf~RbtH[pFZ
  6696. Qh{LduHcuE`b6U^1OR*GH"@6
  6697. FvJtxJzg8f_2ad6mb5p^.mb1l],fR$^P#^X&^W&]M'Q="K5 G*
  6698. ?5 CC)JcFc
  6699. hOyWEsR<mM:gG>lL@fF=pN=vT=jI9nJ<hD;]95^:5hC4X77S34Q..tX[
  6700. u5&{A8
  6701. A5{AM
  6702. P*j[1
  6703. SdzGz
  6704. \{zF}
  6705. PyzFt
  6706. Lhv?r
  6707. Ou|D~
  6708. M`zCur4e
  6709. N;r>,n;+R)
  6710. ^g|MQwDLyDKxBLt>Kt@Hk:@a.3
  6711. juqKJd:5P-(<#
  6712. A."iM<
  6713. }JEc.3i8Kl3A
  6714. yttROiD?
  6715. O(~S+
  6716. Ps{Gi
  6717. So|IyvAum5
  6718. Pe|Fq
  6719. q;~u@vvBsvC_
  6720. \R|Jht@qzGnr;yr>rq<Y
  6721. r4"q9$y@-|E1}D/
  6722. H5~G4{D2|D0}G5
  6723. J8~I6~G5~G3}D.zA*u<%v=&z@+v<'s:$z@,zA,p9&b*
  6724. F.s;#s<$l7"j5 t=&j4
  6725. r>*}I7}J9
  6726. WE}K;yH8}H4
  6727. L;w@-t=({B.zC.u>*r;'v=(zA+u>)x>)t:%o6!q9&q9&p9&l4"k3!r:(w>-v>-u<+t=+t<*w?,{C1t?.
  6728. L;zC2zB2yC3t>,o8&o9){F8
  6729. RAyJ?
  6730. N?zJ?pC>sB<^1,Z-*R)%4
  6731. WmvHXyF\u@SwCVxHKj:Jf9Ag2?
  6732. iyf;?L(&,
  6733. a5uc6pn@
  6734. l<}m>
  6735. |HFZ+9c03m44
  6736. im~[_gBE
  6737. t=d~Lp
  6738. MlzD{
  6739. _V~Mx
  6740. Pvs?}uAu{Jj~Kt
  6741. NxyE}
  6742. Sv|Jf}Kww@
  6743. v@|vA
  6744. t>o~K_
  6745. YStA{|J
  6746. uCozIt
  6747. POyH|
  6748. v9&t:&r>'yC+|B-~H4yC/|H4yC0
  6749. I7|G4
  6750. L9}E2w>(yA,wA+s;$y?)y?*t:$u<%~E/
  6751. O:r:([&
  6752. M7yA(m4
  6753. w>(l5
  6754. M<zE5{D2|H5zE1|C/u>)xC/yB-t=(w@*yA+z?'n3
  6755. k5"i3
  6756. t9's;*k5%l6%n8'w@.v>+v=+zC3}F5yB/xA0
  6757. K;xC3r=-t=.u?/
  6758. XE~N<wJ@h<1oB7q@:p>9d91e61[1,B%!
  6759. [p~N^
  6760. K\yFPyHJ
  6761. TP~SS
  6762. XXp@Eo>JeO
  6763. ~bh]5-9
  6764. j@5&:*
  6765. uWgGz`4_h:fc8kj<qh9qj:
  6766. j6|~Du
  6767. {SSW(
  6768. [-.i48
  6769. eirJdi@T
  6770. yI+yE!
  6771. Rr~Fv
  6772. Uk}Nm}Lkq=b
  6773. XM~Mh
  6774. t=|q9
  6775. Xo|Iwq8
  6776. P{uD~o;m
  6777. VYuBuu@x
  6778. OuxFnxIo
  6779. Y]tBw
  6780. x:'w=)v='z@,}E2}G4
  6781. J4zD/}H3~F3z@,{@*z@*w?)v=&zA*q:%_)
  6782. P9s<$j1
  6783. o9!e1
  6784. K8}I4|E2}F3
  6785. H5~F1}E0}E/v;$
  6786. mbs=+c,
  6787. m7&k5#k6$l6&o7&t<)r;(t<*x@.{C2x@/wA.|E3zB1xA1xA1v@.
  6788. S@xG:qB;f73e5.f5,Y2.Z0,I%#1
  6789. Wc~KW}MP
  6790. cYlGFU ,rS
  6791. oRRH("
  6792. nMA/, 
  6793. H8&K9$P>'ZH,
  6794. crY0Tg9Rg9__3qb/bq<n
  6795. U'#]/0`)+
  6796. ggzSSk?OvSg
  6797. J"sS)
  6798. NS{Iv
  6799. Pp~Jv
  6800. wFp~Oi
  6801. P`uCb|M`
  6802. ]\uBvo>
  6803. s@~yKqyG
  6804. Nu|I}
  6805. q9~vAzs@fk7jk6jj6Pp=EtByu?
  6806. xCw~Lo~Nb
  6807. vAwtAlwGc
  6808. Jzs9l
  6809. w9&}C-|B-{B/
  6810. H5~I7}G4
  6811. K8y@*zA*zB*s;%v<&z@*w>)a+
  6812. V?t9 l1
  6813. j4!i5
  6814. n8!s='
  6815. M:}C+
  6816. f2"g0 d/
  6817. i3#p9&u>)q9&q:(y@0s<*l5!t=)r;)n7&zC3xA2w@.
  6818. R@|J=xG:p@7k=9e60^0'X.&N($F&"@##.
  6819. j`V=7A+(:$"@"$iFKVI
  6820. uXcN4fO2
  6821. ZhbEC5
  6822. aG'pU0qY=y^;mU7dM/[E'\H,
  6823. kIiDnI
  6824. JR%RpAtx]
  6825. nIAR*(U)5n=<
  6826. ]_lDX}\`
  6827. m7tV'T8
  6828. QV|Jf~Id{G~
  6829. }Ky}I
  6830. T[|Kc
  6831. xDsyD|yD
  6832. |Kg}Jbk6huC@uBCp=9q?2n?(m<)n;$k9
  6833. r?$j8Wq;
  6834. \V~Lf
  6835. u7${@,
  6836. G2{D/{C0zD2}G4
  6837. S?|H5}G3{B,{B,{C.zB*z@)zA*}E/f0
  6838. e0!i3"m8%j4"g2 o9'p9)r;*s;*l5$e0
  6839. u?-r=,zC4
  6840. K<xG9sB8k?:d66\1,L)#E%#J%#6
  6841. jYjJ@-! 
  6842. #=%(H*3Y,-{g
  6843. oQkW=Q<"
  6844. bj`4/(4%
  6845. bJ({_9
  6846. hIw`BaM4O;"dN1
  6847. qnH'%N(%_0-
  6848. ^_wM`|YQ
  6849. {JpsBz~Ol
  6850. vDwn:
  6851. ~KyyG}
  6852. \jwGrvEv
  6853. Rr{Mgr>rxCg
  6854. Pr}Ms
  6855. Rg~Jt}E
  6856. |Hvo5
  6857. o9z|Er~F]r?MrB1q@,o>.vE
  6858. k:!h5(q>'uB!q@
  6859. p<)p?
  6860. j8*o=
  6861. xE|i.
  6862. y<(|C/~C/
  6863. H5}F4|E2
  6864. P>{F4
  6865. M<}I6{E1
  6866. F0}D-}D.j3
  6867. X@w=$h.
  6868. j6"xD0
  6869. j4"k3!i3#k3%n7&n6&l6%h2!o9(}F7
  6870. k8-vE<n?5m?:Z31W-,Q,*B"!A$%7
  6871. lchFI4"#1
  6872. K.0`6>zQZnWzcc
  6873. mRr[>WC*
  6874. N[X3)
  6875. M<&iP,~c;
  6876. oNbL/WC(wiO
  6877. ~vN% P('b1,
  6878. g`xRYtRa
  6879. ymS4b@
  6880. p4nL    T6
  6881. ~P}zHvtCizFp
  6882. {J{~M
  6883. O~xCyyDqzEvtA{uCtt@mu<ur7
  6884. q?Uq@Qq>Wl6Of.Jp==o>3wG
  6885. r@%l:"wD
  6886. o<)q>'r@
  6887. b2Xm2
  6888. Wi{IpzF~~Hzi/
  6889. F3{D3zD1~I6|F3
  6890. Q>yC1_+
  6891. N9zA+f0
  6892. t?+|I7
  6893. g1 n6&i4$k4"j3"i3"n7'r=.
  6894. a/%h<8f:6^63X40R-)H&'H(&;!"0
  6895. Z^|KIk<9wIJ
  6896. |\~gGmX<PC5H:(XG0x]:
  6897. mMmY=bL.fP1
  6898. YYtQU
  6899. u?csAztBt{IrzIwxD
  6900. g2p`+_c0Nd3>b4;b2Ca.>a-8d3
  6901. h93a.&k9&uE
  6902. k9*k:
  6903. vB!yG
  6904. V%~[;{V>rJ-P&
  6905. nI0m;
  6906. `-.i2
  6907. Or~Kz
  6908. Pk{H}uA
  6909. z?-{B.zB/~F2}E1
  6910. O:s<*P
  6911. h5&s@/{G6
  6912. I4l6"Z$
  6913. O7r:%l5 sA0y_qt
  6914. d/ h2!g3"`,
  6915. g0 m6$p7'r=-
  6916. Y(&X0.`40U.,M++B&&?#%>#"1
  6917. f{eFfQ4y_9
  6918. nMcJ*Q;
  6919. pYYG 
  6920. h^|MK
  6921. j8vW"{W
  6922. A2}ZF
  6923. h/{c+h`+Of3Ao=>e1Ld2@d40\.!b2
  6924. _/Sd.
  6925. h4Kk9
  6926. j7!q> r@
  6927. l?$n>
  6928. l;*sA#m>
  6929. c8"_6!^7"a=0iJCkPVrWguc}vj
  6930. kMHm=
  6931. j7%`)
  6932. wF}zH~}K}
  6933. So|E_
  6934. C2zA-~F1w>(zB.|E1
  6935. I6yD1Y&
  6936. c0"xD2
  6937. K6{F1
  6938. L7q;']&
  6939. lYvLAUn
  6940. h1!k2"h1!j3$u=-
  6941. X/+R,)Q-,L,.B$%1
  6942. dhZ;@N1;Y7@[9B_>G_:@pDJ
  6943. vN{c<[F&yjF
  6944. @ #n>@
  6945. wb~SJsHO
  6946. xE|n;ok6Vh4;g44a1/f57d1:c/5b0 b0
  6947. d2!h6$c2/a/+h5*b/*e3
  6948. a2!g9&i<'j:'c4"\(
  6949. g9%c4
  6950. c7$i@/c;2c>6\8*[63fEBkOYl\grq
  6951. tbjoI/e3 b.bl/
  6952. Vp}Iu
  6953. xE|q9}
  6954. |?-{A.~E1~E1zB-}F2
  6955. I5r=,Y%
  6956. k5!n:$xC0~G3
  6957. J5{E/
  6958. J4u=(b*
  6959. m>+U 
  6960. h1!l4$g0 g1"u=-
  6961. Q,*H')C#'A!#8
  6962. U>?sacP@E9'0;(4?)35"+<'1J2@M1AW3?[6IjBTvLg
  6963. [er=Ck7@yMV
  6964. iHhP._F!
  6965. lZ{SL
  6966. {Kt~NszJ
  6967. xK|m=fn?Ii<Hf6;d34c2/f3&`/
  6968. f3'j7(c26i6'l9
  6969. d0%g33g7$],*X&
  6970. c8$c:0}ZF
  6971. l]zYS^@=iF?n>
  6972. h8`b=fR,6H# E" T05kO\
  6973. aE9j9
  6974. ^,Cl3
  6975. Rf{Es}L|vC~t@
  6976. w9'y?,xA/}F2}E/
  6977. l;,`1%Y%
  6978. j4 u=(}E.xA-e.
  6979. s\'sa"eO
  6980. pE6T 
  6981. i5$f0!f/
  6982. j3"f0 o7)
  6983. I.0eKKQ?C-
  6984. $<)6F.>H0B?'7B+5Q3@R3C\:Mc>PhBPg<`}Pn
  6985. Z_h/2j8;i:?V/;
  6986. O(8T-8xMK
  6987. mGiP-X?
  6988. N+yI'oW4|mn
  6989. n\rGI|XY
  6990. g5Jh6Gh6?f24j:4h73h73g74a2+`0$`0)],*U%+^/%d8/_41]46fC>eCA_>;W99X@DW@K[EY]Rsh_
  6991. PH^J*(i61|WW
  6992. XA>l@(e22i4wu8
  6993. SqzF~v>vwAw
  6994. TZuBl
  6995. Nds=t
  6996. y=*{B0
  6997. P>xB0_+
  6998. skpD;b1%g2"c,
  6999. h3%c/
  7000. f0 n6&s:+
  7001. I%(T23`CHx]c
  7002. lp^EL6
  7003. *=$/6$/H1AH2CM9JI0FO4C[:K\:M_<O\:Je@OmA_xLq
  7004. Z\c20`77R-/K+-E(-<
  7005. }St]<S=
  7006. W4tS.sP'{L%
  7007. q@6X !
  7008. vTxH;
  7009. n@\k>Qg:Bh<6]3.X.3L
  7010. $M%%N'#T-/U/4]57jGGmQXeWizl
  7011. XLNZ' pJI
  7012. uz\7-i5
  7013. m8Lj0
  7014. K~{Bu
  7015. Kx}K{o8h
  7016. y;(~E3
  7017. L9~I7l7#g0
  7018. XMi9,
  7019. TBt>(l2
  7020. e/ h2!m7'o8)s<-
  7021. V3;P)5M-8M7EW>M]DU_ManVhuatpWk`MdrPorOkoNkoLgxSm
  7022. oD>C$$K,/C#$5
  7023. l7]E&eT@f
  7024. kJXC&eU=
  7025. `5zR/w^6
  7026. X4tP-lS*tQ'
  7027. O4|b]
  7028. o9wu@wzJ
  7029. YwkESgDDeACcACY9<R9>L3?`KWsao
  7030. b:<e3:
  7031. b@@o<7l8:f/}o3
  7032. OtzFtt:e
  7033. P<yC/b-
  7034. }th8.qC<
  7035. R@r7 n4
  7036. p8!r9"n6
  7037. d0 f1!i3#n7(r:+yA2
  7038. szH$,T-5`6>nN\
  7039. e;kV6U?"Q8!pz
  7040. t~gHWB'q^>
  7041. \4yY2u[2xX.t[/qV-xL%ssS
  7042. \Atcci
  7043. pxtbtoj
  7044. gQXg62
  7045. iZcnBRe0Ah/|s7
  7046. Pvx>h
  7047. Q?s=)d.
  7048. }xh70xKE
  7049. L7t9#s8"q;&o8#p9$a&
  7050. j5&o9)l4&s<.
  7051. &Q)0\38mGOvZdrZax`ku`o
  7052. W~e@s]>bI-B+
  7053. qQWE)sbB
  7054. ]2wU,gZ/rT+uP*oC
  7055. X.}gZT{
  7056. I9M`-%
  7057. oGSd1Ki:as8
  7058. Vwp?y|H
  7059. v}RJyLE
  7060. `Oz?(y?&y?*r5
  7061. gPoU 
  7062. a/ \*
  7063. e1"j5'e0!r;-
  7064. 'T,5M.5D*0F2:N9D?/97+4B/6R>E^GLmS`
  7065. nLt]>[D,G2#>. yzws
  7066. {YsY1
  7067. [0uU,hU/fX-wR+t<
  7068. D;RW,!rNW
  7069. jKN{Olb3Hf.
  7070. WE|G3f.
  7071. h5'l7*zC5
  7072. [<C?#,F(.E,3K3<N7BK3>M:IP:DI;HF4@N7AM6E]BPhL^yZo
  7073. K3/gTP
  7074. tOt[9YA)J<3
  7075. ^2}R,lT*nU,qV,sS*pC
  7076. [FGc35
  7077. exn=^uA
  7078. R@wA-r:#zC-
  7079. d1#j7)s=/{E7
  7080. puV5<I&/M-4H-5
  7081. M4BT@VlUek\nwk}
  7082. ygxr`tkUc
  7083. `~vZz
  7084. tOlO3cSJ
  7085. ^2~O*rX.uV-jZ/zN(uK"u
  7086. k2svC
  7087. BT{gA7
  7088. jCFtG[zIs}J
  7089. P?t>+p9#u=(
  7090. `.!_-!k7)xD5
  7091. "C'0R/8eHSs]m
  7092. _LOsce
  7093. R/XN*dG&\M&tP'
  7094. fpU kS
  7095. fcte=C
  7096. Xhh7Cp=
  7097. O=t<'
  7098. f3'k9,c1$k7*~G;
  7099. #X7BgDP
  7100. =*05#*
  7101. k{_4w`=
  7102. [0}S-dR,fM)gD
  7103. i[d9'jNK
  7104. lmqGOg6)n=W
  7105. I6x?(q7 
  7106. e3'i8*e2&u>1
  7107. "];HsO\lLT^HOS=CV<@M6:R;CaFM{dn
  7108. }`lF;EWd
  7109. Y0qN)gR*qP*pG
  7110. `[qTQN9.rVi
  7111. `;FvEY
  7112. \10n=,n>Q
  7113. QAyB/t<&u<&
  7114. y~'ol
  7115. [+ c2%i5+{H=
  7116. (I0;D4=E18G29P7AY>IaFPkKVnO[wSe{Yi
  7117. gFVnIW
  7118. w}nezc
  7119. pJ||k
  7120. ^2~Y.~X+|P*oN
  7121. Try9|
  7122. hD@sDFk9@~P
  7123. J9v>+o6!
  7124. e=3R 
  7125. C0:L>L[DUjNasXjydz
  7126. cqU-8b>I
  7127. `3uZ0jN*aX+u
  7128. iWe{Hq
  7129. }|lA8n</tGN
  7130. E6}F4w@)d*
  7131. $Q6AfMZw_x
  7132. #H)2mHO
  7133. V-^X.nN&hh?
  7134. Y,$vD9p@@
  7135. ~E4xB.r;$
  7136. O%#N.9iCJyU]
  7137. R*rJ!\~T
  7138. cB7w@K
  7139. x<)o7"p8$
  7140. dksW\}am
  7141. K88C%+M.2W99hHN
  7142. b7x[1tT+yO m
  7143. iV[X'(
  7144. x?*t<'
  7145. sR[bCHW<?X;@R;?[@JbEQ{Zk
  7146. F !M34R79hED
  7147. cD:Vc{
  7148. .![IJqd
  7149. f55t?>
  7150. u\TiDe
  7151. @#.V=HW<DeLWoVb~bv
  7152. <.1C#";
  7153. K12aEHwWi
  7154. ]Y~\P
  7155. Xbn9U
  7156. aTzM@
  7157. J+8dN^t]j
  7158. XUZ9/.(
  7159. 5 !P;9{dm
  7160. M:krl
  7161. T/xV)u
  7162. UKlC6tG=yH=n??e6Bj:J
  7163. f\xD.
  7164. xF3e1 i4#o:*
  7165. @89B'$kQZ
  7166. 7'jUs
  7167. T+}h?
  7168. \RuQKlD?i>5a8=g=:~\y
  7169. p7{{E
  7170. eFB}MJ
  7171. l`aF($kU_
  7172. ^XzQIsLFgBC^;:kFBs]
  7173. eP#wgA|f1rZ-pX*
  7174. eXYj<8
  7175. rPUcIK[?BN4:T9@_DS|bp
  7176. ;)$Q;<
  7177. YI:6(
  7178. n_N8pmg
  7179. d]ySIoH:_=A[64{WY\H
  7180. Q9    [?
  7181. rGroF[
  7182. "C-3Z>JjM_
  7183. M=95#%{`g
  7184. x|`K=H6
  7185. fN!}d1
  7186. twa_Q=nhd
  7187. oc}^UtSJhB6T/#cB6
  7188. 8!dI)q
  7189. oA{\)oR
  7190. L($qDD
  7191. |OwzNyvJXzPb
  7192. VHyA/wF8
  7193. kiMq=
  7194. H/:eTc
  7195. SE>8$"XCMy]aS=/>.
  7196. rsmPD6%kfd
  7197. a]uc45vCS
  7198. Xpe7Hd4?e5Fa1:^,/[)*X%
  7199. qX_,#c1#P
  7200. B2:H5=5&!?-
  7201. \E$}^$
  7202. b]U9;.
  7203. mS;R-
  7204. Y5']9-[=6`C;hKA{cW
  7205. nbjk^fjYabMT_AG[6;
  7206. KJxDN
  7207. QjsCZuGSo=NvFGuCSu@cn>`
  7208. ]og7Me7Lm<Sh5<c0A],7`27d3;e7C
  7209. V) M!
  7210. nsoSXsW_z^g
  7211. P;#gO)
  7212. hdCNC*5&
  7213. g_;-a8&Z3$Z4(R&
  7214. `<3tUP
  7215. maxid~mj
  7216. bKU|GY
  7217. rA`j9=e42_-;`/5g62l:@f3KZ$MwDt
  7218. ]gm>PoDVmE_d8Q\1B\3@[9>aBHc=E],8wLd
  7219. nueo?
  7220. fkS;?U@JaHSpYf
  7221. 9- T?#\B xV!
  7222. [RK3A5
  7223. >"zE%
  7224. h[{RCoD3h>-`7'_1 Y,
  7225. uDpg79e72^/*W,*b;0e=4j@Ej:4j8:i8P
  7226. yKs`26_KSb`wfn
  7227. aACX(2k?V
  7228. Xg/    g/
  7229. [54d@;
  7230. wY"xG
  7231. fCMY@L_IVpRbuXg
  7232. ,$!' 
  7233. T<!cD!wV!
  7234. fbW6QF/6,
  7235. s0}SC
  7236. TEwM=n>*f3
  7237. `=BW2-`??T6=R<O\Qkol
  7238. ]FSW30h@9f6?f2Yt>auB^
  7239. wEu_2L|w
  7240. jTUnHNg7Q
  7241. n{q}K
  7242. R3?iN]tYm}`x
  7243. ^@"wT'
  7244. wEUN:F<)3#
  7245. uM6yz|
  7246. TCo@,d0
  7247. aIPiHIZ*:c/[p>Uo8suA
  7248. h3hc9T
  7249. rS_c3G
  7250. n5!m4!}C1
  7251. I9~L>
  7252. [;JiP\nYiwb
  7253. ea^3&
  7254. S= J8$@.
  7255. X?$wV,~`4
  7256. Tb_GI: prn~
  7257. o]`^6,^29l6bZ
  7258. L)*oBXoBe
  7259. q7"t>*w?+{C0
  7260. gYuB1^)
  7261. o9)j8(i6-qD9
  7262. Z8vJ)X$
  7263. mJU~ajw]h
  7264. |gYQE5*@-
  7265. ^F+~`4gO-I3
  7266. M5%aC vY$
  7267. cleHXH3
  7268. cOPlCMoAW
  7269. <"&mEWa.P
  7270. p5$zE4
  7271. K8~I5
  7272. emu[h
  7273. |O{_6K4
  7274. Z=!cE
  7275. XojJuqg
  7276. [1wT+xR
  7277. tW%pU
  7278. Q?{>*
  7279. RXo]9Hj9X
  7280. v:)~I7
  7281. }rzI7]'
  7282. d$zF    
  7283. YC*kR2
  7284. s{cDA.
  7285. dF"_>%iH'nM'xZ,
  7286. ( {/+
  7287. ^Ox>)
  7288. gy]+UvG~
  7289. K,5pB_
  7290. u;'}F2~H5
  7291. kF}J#
  7292. I@9- 
  7293. XC(wZ4
  7294. UB/@-
  7295. VA0gXN`UKF7*G4
  7296. _3}[-qQ(mM&nL
  7297. x]clTI
  7298. c5Vd5Zd4U}Nv
  7299. X<B{So
  7300. r9%yC/
  7301. }H u?
  7302. YQLG1
  7303. aG&tW2
  7304. PG>T>'
  7305. b.wX.eI)oQ,nO*pP+qO
  7306. zZ}j*
  7307. W29f9Kh8Zo=Vs?vvD
  7308. cfztK`}Lo
  7309. u<*|G4
  7310. aAk4    
  7311. PQ^#>
  7312. @80U<
  7313. pbQS7(dK/
  7314. A:9?>>
  7315. h7nS)uX-wX)lP&pR.sS.wT
  7316. eyV*fB
  7317. X<:rD\t@ml3i
  7318. ^5B}Mx
  7319. w=*|E3
  7320. tA^j2B`(5uCl
  7321. T`x.' E3
  7322. rJ<--
  7323. \J;?- [B+mM5
  7324. oqOa\U
  7325. DK_>5.A2!."
  7326. j3uY,qS(xW(lO$iO,rR)rQ!}sL
  7327. np_>>
  7328. a>qF$D:"6
  7329. dNMuMUsG`
  7330. p8#wA.
  7331. yK&|L
  7332. zI~i0hr=b
  7333. fN!rV,{_;
  7334. rP~jMSA2"
  7335. {pb9%
  7336. S:(dK6t[2
  7337. @yc-9*
  7338. jcAC7%A:5WSREA:'!
  7339. F8$F8%PB,F9'B1
  7340. u@{^0fN&sT)y[*bI'`D(kL!|pJ
  7341. f3[@,
  7342. vmJ?zL?
  7343. S7:lNP
  7344. bB~E&J4
  7345. q7$~G6
  7346. uH,[#
  7347. u[2UC0
  7348. [7 W3
  7349. V<%U>+pT&
  7350. F='wpd
  7351. x@dV1F:(K;#L; UB dS/o^9aS7pa?bM0K6"I2
  7352. V=,dQAkZN
  7353. i/uX*fM*}\'jO%fJ'jM
  7354. v+U<&P9"
  7355. }VBi?1
  7356. lQTU7:
  7357. Z=qI&U5
  7358. n`ofBC
  7359. M;xB.vA-~G5
  7360. YG{P@
  7361. \#itD
  7362. cN"\I*A1$1
  7363. M. K2%R5.[;-eC1pG-Z.
  7364. `I"z]*
  7365. ~Ixl8ub,oV
  7366. nX$ra-p_/l`8md?bV6hX2kV+\C
  7367. `I4`I/O7
  7368. `"{[#iM&pR
  7369. eIQ<0oK5
  7370. wdU5-
  7371. vwR6:z_R
  7372. Z;qO+VcAh
  7373. o6"~I8
  7374. K9{F3
  7375. h7n]$ek:u
  7376. v~|I6Z
  7377. `D&[?!L1
  7378. NE;RH??/&?#
  7379. dA/bA4X7%eC0g>%`2
  7380. ejT#YE
  7381. t:}m7o`1uc-lY*jX'oa5ui9sc1m]-q^)rY
  7382. tY$u[2iM
  7383. R@4hXKeO<
  7384. {cX;0xMA
  7385. jmgJM
  7386. S,ZW4F
  7387. UiL*gJ(
  7388. K8{F4
  7389. tgsI=
  7390. Y pl<p
  7391. J4x?.`&
  7392. `G"lN"T<"J1
  7393. hT'Q@
  7394. xpiS-
  7395. ]6"H!
  7396. |l:N<
  7397. p2vh5vj3
  7398. ](vU'
  7399. i>2_8.
  7400. ~K&k6
  7401. rp|{Wl
  7402. v@.v?-
  7403. M<zD1{F2}H4
  7404. SC}H&
  7405. lNm>"e?)
  7406. gN%gL!W@$]D)S;&V:
  7407. whGTB
  7408. \C3O(
  7409. f+~\#
  7410. |cfpUW
  7411. M-^E#DF
  7412. p6 {D2
  7413. H6{F4wB0zE2yC/xA/~G5~I7yC/
  7414. s_zE%
  7415. [&    f4
  7416. lT,lQ+jN*dI&eK*oP'[A&M6 S=$]F*xdH
  7417. dl[1dO
  7418. \VD!+%"
  7419. `N#B3
  7420. SK KeEc
  7421. I7wB/r;'s=)zD0yC0w@-{E2{G3
  7422. N=|G6wB0}I8}G5
  7423. t\/~b6rW2cI(lR*nQ+iM*gM.`H*XD&P>#VB$ZF(^K*mX%pY pY
  7424. ewa8}e0I;*
  7425. q_?^Q?lnf
  7426. e\U8,%1$
  7427. gR<[R=
  7428. qVWnPM
  7429. <1d@(j
  7430. r6 xB/~I9zE2t<'q:&u=*t=(s<(u>+w@-s=*xB0wB1yD2}H6{D1
  7431. oH}b9{^4rV-
  7432. a5|^2vZ2pT/iQ/[H-bM)fP)jS(w^)~b+
  7433. h9zc4~g:
  7434. eH+K(
  7435. spf^QG
  7436. xoU1P7
  7437. qr`>>
  7438. p5 }G4|E2
  7439. M9u=(p9$t<(k4 p:&v@,}E1yA/r;&s=*u?,xC1{F4{C0
  7440. m;w]3w\8}b:qX1lT3x[0y[.y[*
  7441. kYT:$;
  7442. }lNB1 SKC
  7443. oB^F'Q9
  7444. }l[qjb
  7445. zYVcCD
  7446. _IyP5yF&t=
  7447. zC/{E2xA/t=*p9$o8#l5"p9'o8%q9%u?+l7"l5"u@-r=,wB1}I7v?*
  7448. o\|H2
  7449. W6 Q+
  7450. w\'N6
  7451. C. G2$C1#>)
  7452. m`E<.
  7453. dra;_E$L4
  7454. J?%cO
  7455. hhY50
  7456. K,}C!w<
  7457. xB/yD0q:%r;'v?,n8%m6"u<)i3!i2
  7458. u>*q<(m7$u@/t?.yD2m8$q;)vA&
  7459. z[zE+|F3
  7460. SB}J:o;)r>+t?-yD9
  7461. b@(^6
  7462. Q9#N8$N5"@,#:*
  7463. |aS8TG,
  7464. vIpS*X=
  7465. u[:0tLB
  7466. p:%r;(j3
  7467. n6"q:%vA.q:#n7!m5!l5!k4"i2
  7468. l5 p8#o8%s<(s=)t?-t?.s='t=${D/xB,u@-t>-{G5tA.n9)
  7469. b@$bB$`@
  7470. vAzvIyo7
  7471. pGua=va>jT0[C%R;(P:+=, 
  7472. T^^6VP9`QE
  7473. B6&OB.M:'
  7474. Y3'nI:
  7475. k4"n8$n7#
  7476. k4 s<(s=*p8#m5!i2
  7477. l5 n7#p9$o:%n6!p7#v@,uA-r<(vB1tA/p<&yF/u@+p:&vB0k6$r?0
  7478. w^ fN
  7479. H0 b?&cB
  7480. cC fE
  7481. ySzhI
  7482. eL3^E)R</K5%9)
  7483. ]_]HwgT
  7484. q:kO"\B
  7485. |kcr]HQ3
  7486. rMBkE5
  7487. siw`kE)D=
  7488. l5!o7#o7#k5!k5!q9$o8$g0
  7489. p8#wA,o:&n7"o7"o;'xA.t?)zE3s?-r@-wC.n8"
  7490. ygW4 
  7491. ^@ mH(pL
  7492. jK }c5
  7493. nPkV9cJ3\C+@-#* 
  7494. w];V<
  7495. S1Mv]|
  7496. o6$s:%i2
  7497. r;%p8 n6 j2
  7498. r;)xA-s=(j4
  7499. m7"q:&v?+o8%o9%r='p:&t>*r=)l7 g2"
  7500. YE"yaA
  7501. pgZC2#5 
  7502. _?$jE$mE
  7503. \xgElT:T<,P3
  7504. E3'm]OUK=mdY
  7505. E7*obJ
  7506. kEzpQ
  7507. o4!t<*n7$k6#j5!r:%o7"k3
  7508. q8$n6!o7"t<'p:&t?.~G3yC1p?0j7'r;)wA,r;*vC7
  7509. RB*ZPEh^OJ:';)
  7510. aB%kH$nH&uO
  7511. yRz^8fM2U@,YB)\N;^TAH@4qka
  7512. i*w]%
  7513. r7%h-
  7514. q9%s9&i0
  7515. q6!e-
  7516. S0    K(
  7517. r<{d,y`+{`*tT#pa?d[?ncFxtT
  7518. FZeJC?
  7519. JC?FZe
  7520. cacllr
  7521. llqllqllqlkqlkqllrmmrmmqmmrnmqonrporqorqoqqpqqprqorooqnnponqnnqllomlollpllpkkqjjojjokjpjjpjjokjpjipjhojhnihohgnignihoihnjinjhmjhnjglkgjlimkimkjmjimkjmlikmjkkhjkgikfgiddideiehjfgjhjjilkkojjnkjnkkpkjplkqllrmlqmmqnmqonqonqonrporporporporonrporqorporqprqqsnlnE@='27
  7522. @S]<Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[
  7523. =Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[Nbl
  7524. F[e=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[F[e
  7525. Nbl=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[=Q[>R]^u
  7526. "%--,=?1>?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1
  7527. =?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1>?223/
  7528. 79/>?2=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1
  7529. =?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1>?279/
  7530. 23/>?2=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1>?1=?1--,
  7531. 7EL#$$;<0>?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1=?1>?245/
  7532. kY{M;}N@
  7533. [K}L7tC0yI=k<)q?+o?.o?/k=0rB7m@6h:.d7$d6*X,'Y,%a3.[.(g;;l@Fg:5[0,o?8tEG
  7534. SQl>>mB>pG?rHDyMKrFCrG?yNJpFFrIDuIH
  7535. `+tU#hK!aB#d>#c>$
  7536. ~h$wc#
  7537. tT\P3^Q2eU2n^8ZN,jX,
  7538. yLEe7*m=:xIDn?:j=;nA@g97e:<Y/-W.*a53[0/U-/O'+X.+e9:P&*S('[/4U*,O&&b7=\11`5,f9=rER|NX
  7539. VazOW
  7540. UZ}MXm;@q?4|LT
  7541. VeuDYtAT{JRvDXm<J`0>c5<b2>^/8Y,2[.2W+3m>Nd3>\,3P
  7542. sO    yQ
  7543. ^*~\ vU
  7544. oN |\*yW
  7545. ~W    xR
  7546. {U    }W
  7547. tv~U='_7
  7548. a;rU/sQ-cH,N5'Q1,vUJ
  7549. w6}i<q\-kZ-tb9xc,t_'
  7550. wf}jMufMxgNvaCgS2
  7551. yJ;j9+n=7uE7o?/h=;k>:b5.b89X--U,)W./Y.+]2/a78m?Fc79[02_49_49X.'X/+d8<i<:vFApCF|QX{PWvMU
  7552. bZuEFh55\)&N
  7553. "R#,Q#/m>@q@<wHP
  7554. []{ITuDGyJOpCIg9=b59`6:W.0c69e6>Y-0K!#J
  7555. eO    gO
  7556. uR'sO"vP*|W+
  7557. nR~aA|]5~^.
  7558. a8tR9{X0
  7559. j5}^({W
  7560. i2uY,
  7561. kc[N1
  7562. eB iK
  7563. yT>:4 
  7564. c7}W.tO(sN.Z=(K:3|dG
  7565. zX{hIt\3
  7566. }K7h7-a30xH=m?4]3/f84e97n@>`3$k<9m?@e87wJE{KKuERf;@m?KlAJtHOxIJqBDk=9k>7l=;xJS
  7567. W]zNV
  7568. VMc2-[)"R!$R"'V*.K!*O )I
  7569. [*-h98wF>
  7570. YYzKIvE=pAAh<A]02R((`28[.5O$&C
  7571. E3    ZE
  7572. b:~]<}Z6
  7573. qN    yT
  7574. B6(]8
  7575. fJ+qT#
  7576. wTkL,
  7577. a;}Q$rH#fH3I94u]L
  7578. oA7`3.h96n?9
  7579. pABl>=i;9k=Aa57e7-m@GrDHg:<xJMzLOn@Ok=G
  7580. V_yLW~QZ|OStHI
  7581. WU~QL
  7582. WN}K8vC3r@.i7*Z+*],+V%%W($|TR
  7583. kktL?j8,e0.b/3e45{IB
  7584. SRm?<W*,`34e6;k<Bb55J
  7585. `"}[&
  7586. zQ    rL
  7587. \H:X6
  7588. YC#T:(mJ+
  7589. aY;!nP5
  7590. V4tH#dC(WB5tZ?
  7591. k@{d9
  7592. qDAg9@n??oBBe79pBJpCHrCHi;>uEOsDKrEKrCK
  7593. Ta|OP
  7594. T:}I4zH-r?,l7-m8.~P?
  7595. ZKo@'~M6
  7596. UWwFAtD<sCEf9=U&&
  7597. 7)    E3    O9
  7598. P?5M2
  7599. |hOI<*dM7y_H
  7600. dFsH-Y?/ZG:
  7601. yIGuFHqDB{OTsEEzKOxKVtDLxIQzJ[~OT
  7602. U\yLT
  7603. P<|I>
  7604. VF{JLp>La0/
  7605. A/    P:
  7606. e)~_0
  7607. YC4X9
  7608. ]M<@4'RC4{hU
  7609. O5eL=SE;
  7610. ~y'un'pg#ne
  7611. SLzLFxIJxJX{LP~OQ
  7612. S>~K5
  7613. PTk87
  7614. zS    }U
  7615. iYD*&
  7616. <7,vh\
  7617. P4jC3hVI
  7618. n|g,_O
  7619. VQxJBvFK{KX
  7620. }QL_*&j80
  7621. ka}JN
  7622. C0    R:
  7623. unl/;
  7624. bJzO8hH9nVA
  7625. {e\r6P
  7626. R<zI6]C={_B
  7627. ^bN/L:
  7628. f[yOKk?9b3*b0-\*)_+(d0*g45o<1wC5
  7629. yJDvHG
  7630. lksHCf4 
  7631. {X    qN
  7632. nMHe*@
  7633. \Fe?1[@0
  7634. n'o\!jV
  7635. P@"]L*
  7636. fXrF<a0*Y(#L
  7637. ![%$e0&j3(n5$i2+q:@u9>
  7638. b]c+'uE?zMK
  7639. b*{V |V
  7640. Y8lC0fQY|_\
  7641. rf!pa
  7642. vo_BC0
  7643. N?%_O,
  7644. nuLAP
  7645.  e0*['$_(
  7646. f,(w>+
  7647. {ug67Z'*yID
  7648. n/&!eTN
  7649. gwyCl
  7650. yQcQ2E5
  7651. K<"K=&H<*M@(^O.
  7652. RG],*L
  7653. $`,-j31r='
  7654. zKH^)'
  7655. `6*o3=
  7656. \M~F2
  7657. h'|wUw
  7658. zWcQ-H8
  7659. YK,TI.NB'UN3SL0hZ6
  7660. |IMzGN
  7661. yh_/,T!&Z%%Y& a,/e.5
  7662. a-|SS
  7663. L9t>'
  7664. ej[2TC
  7665. SG(SI+bW5bV4UH+MD(bZ6tjD
  7666. NT}JUzHU~MR
  7667. |qe5-O
  7668. Z&'e.+i2/
  7669. jkuVP
  7670. ofwcbJCF
  7671. u~zD2h5
  7672. u=n^%n`,gZ-j^5f_4
  7673. }\YM&\P/`X5~yL
  7674. S]t@Mm9Dn;FwFO|LXuDM
  7675. l^h6.[)&_+/`))wBC
  7676. \G    VA
  7677. sQ    zV
  7678. las[Y
  7679. bGCgZY
  7680. wAzn2xk7
  7681. zbR"ukEg\6voF
  7682. Yen9Fh5Dj7@t?IyEStBJr?Mq@LzHN}KT
  7683. OOzFA~JO~KJuB=
  7684. O<~K;
  7685. yosA=c.3a..c--p<E
  7686. O!;tOlp
  7687. kSJE& ME<
  7688. zbU</
  7689. x6}o1
  7690. nj\,tf3sg6
  7691. ZgyFRwDQq>Nn;Em:Cl9Bd3=_.3g49f3:q==l96i66h54s@4r?=
  7692. [KsA:l8;])5uEO
  7693. a6oO%9qS|p
  7694. P0$9"
  7695. fyn:vl8xm5
  7696. [j|JTxDRn:Ij7;h76_.9T$*[),Q!*V$,a--W%*_,,\*'c0.e1/s?7
  7697. iOuE8c64`1;k=E
  7698. lPpLS\.v
  7699. Y)^`2f`4`W,YQ&TD
  7700. HJ"<N)<L*6@
  7701. nD4*(
  7702. as|IPt?FuA@n:;i7<W&.N
  7703. "T#'N
  7704. P5b1*[1<f:F
  7705. P/'I#)F $B
  7706. "H",O&:B
  7707. $G!0=
  7708. YnxDGwD?i72d1*`,0U$)L
  7709. e9;{jvQVuT^}S^
  7710. ~`ee86
  7711. U1    Y6
  7712. xX*gCDF
  7713. #L"*M#-I +I";I
  7714. YL%R`<i
  7715. X;;;68
  7716. S=}P-
  7717. ]kbkog
  7718. `]uBHb10^+,[)%P
  7719. jE    lI
  7720. nmfBZg?\nHewTf~[j
  7721. qOK=*-K:<
  7722. V;sM)
  7723. ]6zP+
  7724. NRJdbZ
  7725. zY=sB=
  7726. TGu@Hh55c/,T!&X&%a.*Q
  7727. yU&R,
  7728. |TQY62_7/oA:
  7729. d9}S$}R-
  7730. fQzP)xL
  7731. OIyE:l81`+)Y#&T
  7732. Q $S-2^FQ`>Ck?:s
  7733. hQR^>:W4)O."O+!N(
  7734. R.%Y;0hNE
  7735. hg]BGA)2a44hGH
  7736. y^wJ(xR(
  7737. VWR<83FC<
  7738. wVqL$rK%sF$vI%
  7739. ~ICyA)f+)d)(g02T()[;B
  7740. rV    {]
  7741. ~sqL$oK#qN#mL"rK-
  7742. ^0uV+iJ%oK$
  7743. sqXJi\e
  7744. HEv@8zUY{lwtw
  7745. qipK,Z0
  7746. wQ{^5o
  7747. r}uKLoC:ZE@s_]
  7748. }z}bS[B6H94rV8
  7749. iPkK!hL$mP,vP%wO*
  7750. rdYU;A
  7751. }WpQ kL"eG"hN(
  7752. jPHSLL
  7753. |j~aI
  7754. QmFsN
  7755. [UlC:xK?
  7756. ZR~NDoE>yKCvG<
  7757. ]BwJ4jM>
  7758. ob_H-/yPR
  7759. vW7fE
  7760. {YmN!hL"nM
  7761. x*fL#
  7762. R8xX=zO/sU-nR'nc>
  7763. v_Pi5
  7764. wR!yS"pC#oB
  7765. oC"l@
  7766. i> h9!b-
  7767. Xb7muPk
  7768. Q<%me_
  7769. ejtV[
  7770. ]a}_fwVU
  7771. ^^kKR
  7772. wrzTAqF,sM:
  7773. xlgVKKE-2G.5X8?pHO}UY
  7774. tS:iE tXCwbQxZ;
  7775. sQ#[?
  7776. k)WD.
  7777. {sS</THD
  7778. N7g8#NA)UJ)cT-w`4
  7779. {K,tD yM'|V&
  7780. i&~S$uI }R!
  7781. wH%p?+a+
  7782. uTf@}
  7783. cj~TK
  7784. jNzO6~U=
  7785. |hlMBF%
  7786. F/6X;AV1>g>LtKQ~X[
  7787. 1*&O@7sT3
  7788. =}[$xi]
  7789. iK:6(
  7790. E'Z<$SA+RK*jQ
  7791. U"uF&c-    
  7792. OS"TR!YkD{
  7793. bIjG9xXC
  7794. _bU37F-3.#$6)..$)0"(G-4M/;]6AfCH
  7795. I5*tM${S%
  7796. xrR:D/!
  7797. dF*m@
  7798. N2i?$VI(gT%
  7799. UR#]R!oZ&
  7800. k[lUFqVC
  7801. be\=C>+.1$)) &#
  7802. G43sY[
  7803. spT4"T0
  7804. {<\M;
  7805. v\]J6
  7806. wg^K8$fA
  7807. jM"uO
  7808. Q\~L[
  7809. kVWR9>
  7810. ~e_T<9
  7811. |pF63cPO
  7812. n[tU>qWD
  7813. \cU9?6&)/"%F1-
  7814. U_}EJ
  7815. NR~?C
  7816. YemIS
  7817. c;$Y*
  7818. HQo75
  7819. w@fG)lT5i\H
  7820. zdzj]~_7
  7821. sxjlpgluww
  7822. lsr@Ir>N
  7823. ]-iY%
  7824. i{sY[
  7825. p^oP;tXH
  7826. ^ghHPuba
  7827. |SX|GO{?Ls<Go96
  7828. ^$z\)lR-nZ6o[=raK}tb
  7829. cWHC1
  7830. 6ig'VS&D?$OI+WU9hhZ
  7831. mtxISo;I
  7832. W*b[&m_(
  7833. c/z_0eL
  7834. |_QiS@
  7835. GTu6C{;G
  7836. q}zLP
  7837. [^Q(5Q*2Q,/T1/
  7838. }YQFD1
  7839. j=yc0v_*wd-zj=
  7840. &sw'fa `_7~
  7841. 8$b}o
  7842. q~uGQj7G
  7843. Y,i[)xa-
  7844. d:}lAw
  7845. e2v\*eO
  7846. hTrR;kQA
  7847. YbwKUj>E~C@
  7848. oUZw<2
  7849. tmaGN=#)?$*.
  7850. D}Y ~^6x]FeL6^:
  7851. XF eH
  7852. iQ#pV
  7853. 'sq uh 
  7854. nwpBKg6C
  7855. f<mX%m]+}oA
  7856. b.rW'cH
  7857. sUGfD7Y>5
  7858. dKQe85tD7
  7859. `e|GC
  7860. kQZm?A
  7861. gbiLJ?(,[PU
  7862. {aLgE rI
  7863. w]"w[
  7864. .vt%uo%
  7865. nvxJTc1?
  7866. Z&dc1
  7867. [5ef8o
  7868. a+{`,_X'ZC
  7869. kNBD'!aJ;
  7870. hV[E#
  7871. gdm3-z@7
  7872. rYdz?B
  7873. FDY.(Y+
  7874. fHu`Z
  7875. }dYpD
  7876. Cys0mc$|}yv
  7877. dnuGT[)5
  7878. V a_+
  7879. Q(RuJ
  7880. `+{Z)^R#PC
  7881. m`}T8|
  7882. qUF<$
  7883. w}zSW
  7884. TYt<7}g^
  7885. pM({[#
  7886. on1cY&
  7887. *a-?d7VuP
  7888. vEqC%X&
  7889. U^pCP]-9
  7890. k7}a,nW&]R!SI
  7891. g\yS?
  7892. mUHI2(J2,
  7893. aeu>6
  7894. vy|tq
  7895. cozTq
  7896. O'}d9
  7897. wt5[S
  7898. f_F}|h
  7899. _$+V!2X"2Y"0l5E
  7900. WZoDOb0<
  7901. g;nd0u_,
  7902. e0w])lV$XI
  7903. b9}V(
  7904. aXiM<
  7905. ZHB4%
  7906. pv]/-
  7907. uctA6
  7908. kS^AAR:IaCMT><Y:*
  7909. S_P&5-
  7910. lzp!qh3po\
  7911. DG/WM,rI!{E
  7912. S .yPb
  7913. ]puEW
  7914. hl|NQ
  7915. Y]mCJ^.9xP[h
  7916. `+mW&ZR!KP
  7917. ytUPeH>
  7918. yjN,(
  7919. xZbK0J1 O3&jI8
  7920. aN@!0*
  7921. bFc>!EE%UM$rK
  7922. R$4f6L
  7923. gswOXY)3pGRe
  7924. h9{_,z|R
  7925. d0sZ&fV$WI
  7926. hjJAeF;
  7927. ruxRVwW]oA>x=4mB?
  7928. nX{X>e@(tM+
  7929. G7    E2
  7930. RkwF_
  7931. kre7>],8pEPs
  7932. ^*gY&ZT"CE
  7933. n4xP#
  7934. \ZpJB\DATHEJEEPKMCDF86<
  7935. aGO9#3G6C
  7936. uBxq9a
  7937. Z4Zc1aq;uxDyw?v
  7938. p^5;&
  7939. kDMg:F
  7940. [3_0    kB
  7941. Y]h9Ec3BoDNy
  7942. h2y['cU"PN
  7943. D=s?6
  7944. ^,Zd3Ge5Pa4L`4ed7tk=}
  7945. i=|p=nqA
  7946. `/6zPb
  7947. pIwi>}oB
  7948. U]vDGj68b08Z(,g5Bk;Hj?I
  7949. j4}`+bW$LL
  7950. 4%"<&
  7951. Q4+h<7vB>
  7952. Z-yX3yS/l_5vi=wj=yc5~`8~jA
  7953. i[2N>
  7954. qcgTCG5
  7955. rIn],Za1_vN|
  7956. p> wC 
  7957. RQxHMj9Ah6?^-7a0?^0<
  7958. h1q_)eZ&ZM
  7959. 4% L4,c@8rF<
  7960. }<085#+6*3
  7961. jue/:q:A
  7962. aa|PH
  7963. e5}j:
  7964. pb*aM
  7965. F5::+2<-3I15z\_
  7966. fvzIO
  7967. Vat@Je2Ab/;f:Hn@MzLU
  7968. g1ta+eX$RS I`3\
  7969. E+%Q-(m=4
  7970. ivrYizLY
  7971. ]Z{SV
  7972. L::A29>/5P:<
  7973. v|`1@
  7974. a)w_'aX%NN
  7975. pgdB46{tp
  7976. ]ff5BxFM
  7977. YPsDIiDK
  7978. ~vM:?J:=B38fMO
  7979. b.0oBU
  7980. YW,,qAj
  7981. ST$Ud/
  7982. b,{Z#j^&]R
  7983. pihQ..
  7984. lvwHM
  7985. FAr<5
  7986. RGrD@d;AiEO
  7987. L5    S6
  7988. oj?01M<;^INy``
  7989. {V    |Y
  7990. g2}S-H>
  7991. HO"C[(^Z&\Q
  7992. wd_D-/
  7993. I>w>5zKH
  7994. [eyBE
  7995. \K|P>
  7996. WCzJ@rFEh?EZ:E
  7997. wa\iQLlWRw`_
  7998. vw}wuyyx~|v
  7999. qqugn
  8000. b9:o<.
  8001. v`[S79
  8002. D4{B8r?Cj=K
  8003. RBkC@W7:T6@
  8004. _[sGGd<>
  8005. }sz^Yz`V
  8006. xYRkOH
  8007. _E~VJnF;lB3lB7f=/lC1c;*_5&c9)b8)_5!g;"`4!^3
  8008. Z.!`4
  8009. YsX'cC
  8010. havN?
  8011. 8"&K/2g93t:*
  8012. {gdR67
  8013. }JGw;-\/0W.6R-3
  8014. wZ|U>
  8015. ^Q|RKa=<N18R5@
  8016. QPc:>]6;
  8017. vgC3]9+
  8018. m@{T1uM?nF;mC5i@5`6,g>1mE=d<'hA%`:'U/
  8019. a6'_5"Z1
  8020. kH    oK
  8021. fTw[=
  8022. lQKH00J12X-*
  8023. sgaG34
  8024. sDRb07T,6M/6w^_
  8025. `c\@H>+4
  8026. LGtDFW05C',~c`
  8027. uR>]0
  8028. W=zP=mD3g>,lD5nG8oF<c<(f?"tK0c?&d="jA!iA
  8029. dA    tP
  8030. wrL/.G.-F+,a>>
  8031. hcn63
  8032. l23J!(9!,7%+fWZ
  8033. `c{[^
  8034. Z2]R[
  8035. sS]7$.
  8036. `\x?=j=<I*.:%+z_\
  8037. _]qC;
  8038. [0tM&rJ+oG3pH/uM=iA7jC+oG)pJ
  8039. i8w!U
  8040. pL    pI
  8041. W11U15N10L'(
  8042. MNn22
  8043. cJ[H%).
  8044. wU=@r%>
  8045. dk}XaQ3?
  8046. aXv:?a35>%(2
  8047. b]uGF
  8048. W,{S*tM.oG%sJ3rK1f?*mF!nF
  8049. sL    lF
  8050. nL    jF
  8051. zV    rN
  8052. oH    zR
  8053. qO    `A
  8054. zR48Y7<Y7<mCD
  8055. olh+"$
  8056. qr|QQlEHQ&,
  8057. X?F~KW
  8058. ukL?o1?
  8059. ecyV]N3A
  8060. d_zILzORV8<4
  8061. c]yJD
  8062. ^.wP#yR#qJ!sK"uM gA
  8063. hB    c=
  8064. iI    hD    c@
  8065. uR    qL    xQ
  8066. dekCGlHPd=F|YZ
  8067. uq]jC>
  8068. m``- !
  8069. Q^p5I
  8070. pK@Q=+@uZX
  8071. VP~OQlHPC/=
  8072. c^u??pCA
  8073. _cnOWr[Z
  8074. {Y;v\E
  8075. hX\3)b<+
  8076. `*{U&{T$
  8077. pL    }X    
  8078. Z    rJ    
  8079. sO    }Z
  8080. kH    kI
  8081. gp}V`uJS
  8082. t\L_:=
  8083. tvaLL
  8084. \]iIC
  8085. m@Fc5<f?HR
  8086. IPaVED
  8087. :$&cJG
  8088. }~{FIqBEmCGdAKE0:
  8089. [Vr:?g:;O24R37vbc
  8090. a@|aJ
  8091. jD    jF
  8092. jG    ^8
  8093. kH    kI
  8094. kG    _;
  8095. opuQOS958!
  8096. wSVS!1N$3>
  8097. ?J^XD?
  8098. {MqUD
  8099. qroJR[<DQ19I3;
  8100. XTm6:tLQiKKE&'yee
  8101. mKbJ?}[E
  8102. c_sG@
  8103. [8    a=
  8104. gB    ~X
  8105. mH    sO
  8106. zP    nF
  8107. Z8    fA
  8108. MZr@L
  8109. |yr?8zRL
  8110. x]bN/;Q6A
  8111. 6*,L67wON
  8112. qp]T 
  8113. 7%$rhr
  8114. a|oGX
  8115. chU9EB0:
  8116. TIY41`E>
  8117. ^^l59[5:J-3=$+{ki
  8118. R>s:'
  8119. L2s>+{H8
  8120. _Z|JA
  8121. \7    gB
  8122. tN    nG
  8123. hE    e@
  8124. UVxEM\0:\-4rQT
  8125. %!!aMI
  8126. }r|hb
  8127. te~o_- #&
  8128. Woh?P{Vj
  8129. ]bg/2\58G*/<&.p]\
  8130. TFv?-rA'rC/u@,yG5
  8131. nI    tN
  8132. sM    gA
  8133. d?    mJ
  8134. lF    uK
  8135. UTc5:D
  8136. j=IiCOhON7
  8137. kc\13oNI
  8138. tqk`^i]\_TUF55cMT
  8139. PeV3@mNc
  8140. `ig+1W+/F)-C+0qYX
  8141. xjvKD{^S
  8142. twG:yD0pL<
  8143. R8vD,
  8144. pj~ND
  8145. ]8    iC
  8146. hB    mG
  8147. hB    xS
  8148. mI    fA    pH
  8149. ]    wR    lH
  8150. lfB23#
  8151. O>B{dh
  8152. id{GCg@?x\_}
  8153. xRMiKH4
  8154. &8"*%
  8155. >25Q1?t_b
  8156. Q^t_v
  8157. _u|]igLVmQY
  8158. qI]T/>sPg
  8159. fqmIRC(17")s[\
  8160. i^pA5sRI
  8161. nVm6$xE/
  8162. |riDqR!xa+
  8163. iB    iB
  8164. oK    pI
  8165. d<    Z1
  8166. W9    e@    hC
  8167. sK    qN
  8168. tN    tK
  8169. wP    c:
  8170. shPA?"
  8171.     @,0}gg
  8172. Z]lEFg82lMOhu
  8173. 4!*3!*1
  8174. 6 $8&'{a_
  8175. apfJWS8@G-7
  8176. lFYW3FvUn
  8177. v|`COvWW
  8178. uRnQ c[*qe,
  8179. jB    b;
  8180. qJ    yQ
  8181. vM    rJ    pJ
  8182. oF    e=
  8183. a<    S/
  8184. uh]QM756
  8185. Y47lJL
  8186. ab~aarTRY3-M.'bOZX]zUy
  8187. "A$(M67
  8188. Tc]@MI29C'/
  8189. rMbZ9M
  8190. k;\o>K{Ub
  8191. qfyWhQ&\W(lZ(nZ
  8192. iR(iJ#L>
  8193. zP    |T    }T
  8194. wL    yO
  8195. c=    jD
  8196. zQ    |N
  8197. oX>>F"%a:;oKK
  8198. ytrUFF*%A'#=,.B9?PRUd
  8199. !K)-N*,
  8200. `K*R:
  8201. eCUL5DQ6D;&+
  8202. sLgS6DtTk
  8203. xImc8MD#*
  8204. T4xPEX6YG!MS'iS%o`/~
  8205. ngxKD
  8206. ]5    f<
  8207. sJ    yO
  8208. T5    N-
  8209. hB    dA
  8210. mI    nI
  8211. kG    mJ
  8212. S-    rH
  8213. xpqWOA12V81c>2i`dl
  8214. ib># &
  8215. p:?N!!F%&P,,
  8216. oJ[V=IP9D>(1
  8217. WzlE_^<L
  8218. YpoHOlJW
  8219. uGfa<QE&0
  8220. rPWL)EE!VQ+eQ(lY)
  8221. bZvE;
  8222. *03%(*,15,15,15,15,15,15+15,15,25,15+15,15+15+05*05*05*05*/5*05*/5)/6).5).5).5(-4(-3'-2',2'-3'-3',3',1',1',1',1',1(-3)-3).4).4)/5)/5*/5*05*05+06+05*05+06*05*/5*/5*06*/6*/5*/6)/5)/5*/5*05*05*/5*/5*05*06*06*05+16*05*05+15+05*05+05+15+15+15+05+05+05*05+15,15+05+15+16&*-
  8223.  (-0,15-25,15,25-25,25,15,25+15+15,25+15+05+15,15,15,15+15+05+05*04*05)/4)/4)/4)/4)/4)/4)/4).4)/4)/3).3
  8224. )/3).4).3*/4*/4+05+04+04+15+15+05+15,15,15,25,15,14,15,15,15,15,15+15+05+15,15+15,15,15+15,15,15+15,15+05+05+15+15,15,15+15+15+15,15,25+15*05+05+05+15+05*06',1
  8225. &*-)/5)/5).4(-4(-3',1',1',1',0'+0&+0&+/&+/&+/&+/&+/&+/&*.&*-(,/).0)/1)/1)/0(.0(.0*/2-13,02+02+02*.0++,-+,*+,'*,).0-24.24.24.24.24)-0'*-(*,+-.+23,24-24,24',.&*-&+.&+/&+0',1).3(-4(-4(.4(.5).5).5)/5).5)/5)/5)/5)/5*/5*/5+05+05+15+15+02
  8226. '+-'*+'*+(*+'*+'*+'*+'*+'*+'*+$')&/4
  8227. ARY #%',-)./*/0+01,12-13-23*/0).-)..*00+12,12*00)..)..)//*00*01,12+02)..)//*00+11,12-23*/0(..)//)//)./)//*0/*0/*0/(-.(-0)/2*/3*/3*/3)/3*/3)/3)/2(.1(-1(-0'-0(-0(-1',/'+.',/).0)/1).1(-0',/'+.&+-',.+02-23-22,21,21,2/*.-*-,,/,+-,(--)..)..(-.(-.(,.',.',.',.(-/(-0*02+13&+.
  8228. elp4DK1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ>NW
  8229. 9IQ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ9IQ
  8230. >NW1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ
  8231. 1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ3CKPdn
  8232. 5FN1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ
  8233. 1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ1BJ<LU
  8234. DYd\TQ
  8235. \TQDYd
  8236. lACi?7pF=pF;sG9h<5j>:j?>e::kB9kC<c7BZ.<\29a78mC<lE@vO8tO2
  8237. vFol;ak;lk:tl<qvE{uDyi9rj:yi9mj9np?
  8238. lR$Z?)hN+aH*hM,mQ/qV3gI.bB)dD/aA*\;-Q/0P.1M+/H&4M*7C
  8239. 6K+9B 6A
  8240. 6N,<jKQ
  8241. ;<">1
  8242. cVmTS\FKT=AN;CP9@\FMs[e
  8243. bdrQFmNCiKIaFNpRTzhq6
  8244. \~~Vvpb
  8245. [J3ga7
  8246. }_{z\
  8247. tOylUif\piX
  8248. f?qsK}i?|tM
  8249. wR|~X{|VuxQs
  8250. _7    mD
  8251. swb96N'
  8252. q,x]#oT
  8253. \F!wb@
  8254. _"yX'
  8255. h<7Q$
  8256. M*~F+r85f/0t==w?A}FD~GJyE=t@<xDB
  8257. R:{FAt6I
  8258. N[}JQ
  8259. fm_<=B
  8260. B""@ 
  8261. a)wW(
  8262. mu~OV
  8263. ]c}O\
  8264. U'(W(*X(.T$,Z*1[-4zQg
  8265. yK~E%|E'u=1q;/u?5xA6{E,{E3
  8266. L,zF-
  8267. P;x<-
  8268. ML}HO~J]
  8269. ~cl_;;T),I
  8270. I%"Q,.K&"7
  8271. C!%E!(H"&M%+O+4N)0J%/E",Q+8I'-O(6L&/C"(H%.O,3O(1I 'pQU
  8272. hH`8''eKe
  8273. VTO'LM$]a<
  8274. {N_}QZ
  8275. {yP`_13G
  8276. S&'S%)R"
  8277. cnuFKi5>e4AY*3\+;
  8278. }H!|G+vC)wC1xD/
  8279. O.~L$
  8280. OG~KW
  8281. rMSV,3]1;\2=Q+.W1?^5D[3H`7L`5Oa8T[2M`5V]5W]3ZZ1V`8^Z2Sc:]e;]]5MV,@}\k
  8282. yYYL"
  8283. e@_|W
  8284. dI`VAHV>LkKn
  8285. SnsAv
  8286. }}ngaQlgO
  8287. gepD:L
  8288. X*)a20`/7
  8289. jvvCVvE^tE`}Ns
  8290. zG*xE-
  8291. P"|F.
  8292. S*y>*
  8293. N8~K<
  8294. e6FV%?g8Y
  8295. oE`l>`m@[a8Sh<_pEnj?jpErwLznCtrGzrF~oCzyO
  8296. oC|qD}pCwb6X
  8297. ^eN!!K&!?
  8298. _DUS7GfIekVtYB[qVlwZn
  8299. rM~jCtc<rnC}
  8300. KB >;
  8301. ihi<9V)']/.g9>q@T|M]
  8302. QszInl:\
  8303. |G,yC/yC"
  8304. R.}J.
  8305. 'a.>Y,:i=T
  8306. [ZuHG
  8307. ]k[/.U.,A 
  8308. M5Z8 GL3Tv\~
  8309. cI_P<D
  8310. hw}bs^BV]>dnG
  8311. WR9=:
  8312. xq|PMd4-Q#!e77g6>
  8313. vZ#o^$|
  8314. Z~|Nn
  8315. tJ$g9
  8316. O uB#uA'
  8317. &V$.X)5W*7mCY
  8318. yS}pFq
  8319. b3B[10E# 4
  8320. 3cBd`BfB(PB+S<#V@ g
  8321. cIYQ6InI
  8322. m_BjZ:z
  8323. ekpA8`02n>GpAGxHP
  8324. j4}a(zh1~`*lU
  8325. rEha+\g2m
  8326. O(~I+~J"
  8327. [.:V!,T
  8328. vMtmDbe9\pCsl?kj;ge4cj8uk7rb0V
  8329. b5Ob7IU-:C! *
  8330. 8>";=%DE1ZD/\@%hI/u
  8331. jQoaAR
  8332. MXuFPqDDzLZ}Mn
  8333. o=~g1t^$o`*ig1pe0pZ'_U"T
  8334. U`,_^+Y_,`
  8335. yN*c5
  8336. J.~H+
  8337. V ~K(
  8338. uJR}Za
  8339. j:p_(ja*ub,ye2ue2vf1xf3sg3x
  8340. wGog:MZ/4@ $4
  8341. E =D,B?,FC-UA,]D+m
  8342. _G#aC 
  8343. pk~Rz
  8344. PQo@B{Kb
  8345. d-zZ!cb*md.ne.oa*f`+h^*f](a
  8346. RuvEb
  8347. c*nd/jb/_]+W]+VS
  8348. oC#g:
  8349. ^*pg0
  8350. d-~^*h
  8351. m?h\08J$!:
  8352. :G,RB.[?/ZB*bN2n
  8353. h4hP*iL*yW4
  8354. `xQwzj
  8355. Sa|KZ
  8356. b,f]%d
  8357. b*qb,kb,g`*e_*g_)]a,d^*`Y"g
  8358. W}~Qn
  8359. h0wd/hf1o_-X^,\W&OX$Qd3o
  8360. uhq@5~YK
  8361. hJoh]t
  8362. [&ya,~d/
  8363. b5JY/+E#
  8364. MJ.\E-YF0bL+oU.}`;
  8365. d.~`7
  8366. tXtHz
  8367. Ud}O]xGX
  8368. `'q^(`[%T^)d_*f^)_^*e^*fb-l](_^(hk3t
  8369. h3vb-d_,[^+VZ(LV%FY$^
  8370. tDZn9IqC\pCa
  8371. N/PF(A
  8372. \&z^)s
  8373. l>pZ-BX12G%
  8374. F NK.bJ.aN.nN-uR-{K
  8375. kYnB~
  8376. k:cP#
  8377. b*r_)c['X_*^]'c]'d^)g^(j^(fY"`Q
  8378. g1uf0lb.a^)UT
  8379. L^,azO
  8380. Un{Mg
  8381. jZxI*vH%wB
  8382. m?f]2<H#
  8383. ZK)kN+uE$jG'mT0
  8384. mOa<q|k
  8385. Pve/wY
  8386. nFsZ+r\,
  8387. b-re2wc/lY&X_)d[&a`+g^)nV
  8388. U%yU&vR%lK!YK
  8389. e.xa'nZ ]Y$Pf7\{Tq
  8390. \r|Qi
  8391. bH[hP_
  8392. V/yJ$
  8393. wJua3DO'%E#
  8394. iG$iK(lpV
  8395. }M!zlD
  8396. ]LUgVu
  8397. nQfCnxj
  8398. ara0_O
  8399. v[xa<]I
  8400. i3}i5|n>
  8401. e1q`*k_+k[(bY#hZ!j
  8402. T%{P$pK `L ^J
  8403. VN#`N
  8404. l@Rb4;K&#@"
  8405. lPiBu~l
  8406. ldQD;
  8407. TH7iv
  8408. dWDD5
  8409. cQ5bQ3N@
  8410. `-lY%bV
  8411. Q$qK!aK!ZK!SK!UO%WJ
  8412. nB!l>
  8413. _@UTFr{
  8414. tEhg8L\03N(%C"%H$'?!!F%
  8415. T)*uad
  8416. ~f}~lu
  8417. pBxb/
  8418. kNkBmtc
  8419. uR[E"cf
  8420. maOJ=
  8421. J@![I
  8422. T$xM!jH
  8423. XK"QH NF
  8424. GJ WG
  8425. X4@W|
  8426. 6= 8h
  8427. ]AxN=
  8428. p?xl<N[02P('
  8429. C"#L)(I$
  8430. WJN4)#@71
  8431. <-DYCa`Qwjf
  8432. fRjBgp^
  8433. YSKLA
  8434. c6jW>_b
  8435. wXpX,
  8436. Z%xQ"rE
  8437. SH TN"bE
  8438. i:    sE
  8439. [I}P=
  8440. rBxl<Td4KY.BP',M',O*.M(+M##`68
  8441. ucr>3/,%!2)&.&
  8442. h:ya(Z
  8443. 9+FB-LB*DM.M^5htM
  8444. ZTe?ms^
  8445. ba\RF'N?
  8446. foU*yu
  8447. Y'uO$fK"`H
  8448. SI"PH"OH!WH!SI!OK"WH
  8449. qE    tJ
  8450. h[{N?xPV
  8451. c6aZ0IT*>_3Lg:Q^2Ab5HV(1rHQ
  8452. ZLL6*%4*)4,+804/'%[NO
  8453. ewW<T
  8454. h6{e5n_(L
  8455. >,FI1KN1NL0KT0_`3r`2g
  8456. aL];w~j
  8457. Su]/^M&dR*y_4
  8458. cO&aO([I#NB
  8459. IK!UK [N
  8460. hX)vuK
  8461. mnnA=
  8462. P=XRy
  8463. @B1chk
  8464. T++[.4i8I
  8465. bLY=/(7./:26;4;6/0D:4
  8466. kJ^jOk
  8467. p6}l/^yDf
  8468. E0NF/JG.CN1XZ5qW3fR1S[1W
  8469. i{iRO@ kS#y
  8470. ^H TI#IB
  8471. =F RL"aD
  8472. VS#kN!fO
  8473. ~R%uF
  8474. ivW{X5
  8475. `3^e2gk;gb4YM
  8476. Z::?O
  8477. >7+qq|
  8478. _8@\;G`>LgBKZ:5mH<kA3
  8479. N@:5.+;48;6:4112-$|hf}\pZ@V
  8480. H.GF.JL1]V5zQ.lQ@iog
  8481. V6YoH
  8482. u^SG2J=
  8483. NJ"PI!QK!\P%lO$hP%iQ%fR#iS#mR!xZ%
  8484. aD"vJ+
  8485. l={qC|nBng9ce7asQg
  8486. DH2Rgb
  8487. JF~o@O
  8488. m6|vA
  8489. :3573<75743/-)#YJH|^nbD]
  8490. R0HQ1UY7|U3
  8491. I-PFU
  8492. VB]iDy
  8493. vY{SEM;u{w
  8494. vXfS9\G'yb<
  8495. XL"^J!ML!]O$kQ%mP"pL eR"qV%{X'
  8496. d\x[vgJ
  8497. fD&jD)pD(|A"
  8498. sH~j<lj>pS#NxZ
  8499. Q7iM7]qt
  8500. P?]d.3m8G{bt
  8501. nPKS;AY9-Q+
  8502. ]*Zj8|~N
  8503. UKE3.65357540,,K??
  8504. eqiKcrSq
  8505. S2XW3i\9
  8506. G)iI>_;\
  8507. fV}gEv
  8508. rTsQCN5[[E
  8509. _ze=~a+
  8510. ]+wQ$mQ%kT&pT%qV%uX(|X(
  8511. V&z_.
  8512. TG'TG&cD$dF+{F'{<
  8513. i<u^.df>_
  8514. P<S/1
  8515. DAyQ/6f5<
  8516. rG    rG
  8517. |OH7 :1-4191.-E:1
  8518. o{qUtlJn
  8519. S4dW7
  8520. K5QH]
  8521. f\nI\e<chGbaG
  8522. zb{]:CcD]cA[X8Q
  8523. Q/OG"J9
  8524. NE"R?"MF(^E$_D%_B!gH"s`>
  8525. ^$aba
  8526. km]50
  8527. a/|Z*c
  8528. Nj~Pl
  8529. [A=D*2FV
  8530. [Gj_0.e4?vJ`
  8531. ^<    yS
  8532. dKfzcTr[!t[
  8533. D645/.50$
  8534. T4qQ0
  8535. D)dLW
  8536. ^Kkye
  8537. 9G!IB
  8538. 9C"I@ SD&b?$f> ^?
  8539. iE$eQ!psV
  8540. Y+hW ]
  8541. W/)`;9
  8542. Xt}Oj
  8543. So|Ng
  8544. s8@rAV
  8545. qN7[A64+ mac
  8546. RHw@i
  8547. 2F"?C 6@
  8548. =F"MC!@D$L?"P@!]A jI$d\4
  8549. e/fc,e
  8550. {fwa2?pEYsF[}Mg~NgwC]
  8551. vPvU    
  8552. iU w`*
  8553. Z>cF7cXW
  8554. <C"AA C@ H@ MB"ZB
  8555. jIYS%-_4B`4Ec4Fl:G
  8556. ccu[x
  8557. R@    eQ%s^,
  8558. _B"U:
  8559. oK-{P:
  8560. ?F#GD!KD"VC PE$aG%bX-w
  8561. ~klW,*
  8562. jVPat
  8563. `O$o[.
  8564. oX<E/
  8565. ]? kD#
  8566. BI!SH
  8567. TG!eA
  8568. WB!`J$hK
  8569. d1_U&BtFj
  8570. oQSa?A
  8571. quP V#
  8572. `0;e;MzOd
  8573. T7.kY^LC
  8574. UI5?*
  8575. ^L&lL!rW&
  8576. ^/mb2_c4SY$;yKd
  8577. #O%3b4A
  8578. }QM>01
  8579. c,uW%hS)hR1`J%jW(kw
  8580. hFqJ*EM2I
  8581. ECHNCHqa
  8582. ED!FE!_H$eJ'kJ#nP%yvj
  8583. d8x_/kg9tvG
  8584. ~c#rZ%~f2
  8585. b4rV)t\2gO'wa.z
  8586. L>"EnQp
  8587. HgyFoeX|-'!7&-J4NlP
  8588. HE OD
  8589. ^G"fE gG#eL |d,
  8590. [ZsNMqNMeGIT>Br^_
  8591. tNqN6
  8592. pQhJ9W=/~~
  8593. za,}d7
  8594. ZG+0#
  8595. xVv[/?3
  8596. d8uZ)
  8597. NAkB5bB.bE*hH+qP3~W8
  8598. XG~yu
  8599. X)[\<k`GifRj
  8600. `ym/Sk<PZGP6*:@)KG'aV.
  8601. l[Bgk
  8602. BF!SC
  8603. hJ vM!qN"
  8604. WWg.*f41l:8]/,].*_-)G
  8605. uWunMn
  8606. `/x\E_D1
  8607. r\aP7?.
  8608. d;ZE n]D
  8609. rI||U
  8610. ^s`&Ai?LlWi\Gb\@hX3
  8611. |caM3
  8612. KG bJ
  8613. xM%{G
  8614. }SSj:6oA?f77]34]32S+,M&$@
  8615. _7tY-YW,e
  8616. l=    yK
  8617. KhH,pWA
  8618. dz`/?Z4>pXbfG^vTr
  8619. nUIK6
  8620. gK!oI tK"uM#vH
  8621. ^[~UWmCDqDCa77a77S--N*)Q.,
  8622. i@{T'VuSx
  8623. xX G!
  8624. U+mqH
  8625. kZ7H<
  8626. ^{vH_
  8627. Ym}VdO(/YAH`?Pf?^~\
  8628. w_6P8
  8629. i;qC8n?'
  8630. kH pI |K 
  8631. {bHgB
  8632. hveGNE04hK_eAg~\
  8633. oOy[$
  8634. xLxNIqF;qB(
  8635. S)yP&
  8636. TD!mK |G"
  8637. {Z:|X4
  8638. hr^GKsYlvUn
  8639. HUI    fdL_
  8640. YY`6;vH;
  8641. g<qU#kV(oR$lS&}U&
  8642. pK$xJ&
  8643. ].    nG&
  8644. tkw@z~T
  8645. s]=pU
  8646. ~dpFNj>=
  8647. QQ$LK
  8648. LT&iS#
  8649. pWndD_gADT%
  8650. cNxU=Uz
  8651. qcw`8
  8652. |WVU'_\9xl
  8653. uLES#!
  8654. ]Q#eN!KL
  8655. I!wP*
  8656. lL>!scG
  8657. cM{L7ZSCXw
  8658. yRsmLTR-OL
  8659. p\X(,
  8660. u\FV,
  8661. |UB 3*
  8662. [@t8)EMDVq
  8663. Vio8V['`a%os,jr(
  8664. n@|pDma3QV#5b'-
  8665. qmO1"8
  8666. oQxgIqcE
  8667. |eOp_GPA"ND,ym[
  8668. YrMZg[Xm
  8669. YCrG3QV@Ob]pio
  8670. MX%@G
  8671. D"$P/!<
  8672. oOl[;[L1hZ?|lM
  8673. }bsbAeYG
  8674. [nKbs
  8675. aH}\EdU:O`@ZdE^oIh
  8676. pdAwhB
  8677. \&]\(MQ
  8678. v__J*
  8679. X;1\FReSl~{
  8680. rIkZ9`S8^Q7QH4k_JtcC
  8681. dq{Oo
  8682. zfx^o
  8683. iHsoIq
  8684. zuKH/
  8685. ]pO"rqp
  8686. vQhQ&4M!+xVY
  8687. pplP9w
  8688. KI    ~uZ
  8689. tPvdGgW?wbB
  8690. [g}Ov
  8691. ~ndSK0
  8692. \8&J 
  8693. lfmG%
  8694. OP0eaH
  8695. tsq[lhMh]0o[
  8696. ncKfU4
  8697. nCYT&5N
  8698.     q_XE
  8699. ~djrM,
  8700. YU!KL
  8701. MM+][8rkJ
  8702. jry\T'MN&LO)d`0rh4
  8703. e]Mia@
  8704. YBsYGh
  8705. vg`S2
  8706. pMmQ*\D
  8707. YG,b]U
  8708. vhPsgN{
  8709. WruGZf3@mAP
  8710. chnH%
  8711. `X bZ
  8712. g_(`Y(KI
  8713. HG!SO)TT;^Y6|u[^t
  8714. d^$qj(
  8715. U@xH3b>*Uv_
  8716. ]@pD0U}iu~kKlZ8
  8717. fBjO(_A
  8718. ZC"bJ)kN1aD#Z=
  8719. 8E"Dx]p
  8720. e[&_U
  8721. nb'f^(ZV(ZV"]W
  8722. h_-VN
  8723. kd!si%
  8724. Yr{TosFae<skGax
  8725. G1g~l
  8726. V:^<-GN?X
  8727. h3oW3
  8728. _,{W&{Y+yT&{Q#
  8729. lU5H+
  8730. |zsVO
  8731. i\(k\&f[
  8732. h_%xi%rd!nc!oh"uk'l`(b[*XT
  8733. wukXO
  8734. uk }s*}v0
  8735. `vyVtuLdd<
  8736. cCuQ8XB2I:+@{er
  8737. g.vZ+
  8738. hHx];rY5x\5~_5
  8739. RK bH
  8740. zfXc:
  8741. rY0S7
  8742. tC+~M*
  8743. o,wh'lb'wm%|o$
  8744. u%yo uo(tm+xq1je'eZ'}
  8745. ld'sh
  8746. u&su<
  8747. TjnHqnQi
  8748. W>gQ9YN8SI2KY=`
  8749. x9x_&fR(TC
  8750. xY2S,
  8751. n=-zF1
  8752. s&|q/wn.yr/
  8753. ;xx8qh!
  8754. oiD_W
  8755. si tg!
  8756. r>yc)
  8757. ^DoY?gM6NS:T\=^a@evU
  8758. mPaN*O@
  8759. W8#N(
  8760. b1 l9.sA0{I7
  8761. m'zq0|r2
  8762. eEmcBl`@aiFixS
  8763. tku^8ZD
  8764. l~b8G[+<j8N
  8765. evQ"^/
  8766. g5/r>:wD/
  8767. |7}z=
  8768. Pw\1\G)q`7
  8769. rN~~T
  8770. bEibJh
  8771. wVkP dK'
  8772. `yU#1S 1^*=
  8773. k<"q=-o;6yE6
  8774. V@%`F%
  8775. KgX0~k6
  8776. rQ)nF
  8777. |dDhJ
  8778. h;x]]bJE
  8779. ^AkM4TU=a
  8780. wVcJ!t\<
  8781. }YvR"3gC[
  8782. ua<*V)
  8783. i9#o=.uB0|K6
  8784. W`H)_A }Y0
  8785. wEbF(
  8786. mCv[8
  8787. fq_7RB
  8788. ye=|fkN+\E
  8789. QM1TjUJ
  8790. fErU8YD-HN9\
  8791. tMtV%
  8792. pZ6)K 
  8793. d3'qB/vF/
  8794. iqR+]?
  8795. tKtU#Y9
  8796. }RoR/
  8797. cR/jM
  8798. qv`3J=
  8799. nJyeqH*SO'SR'SJ
  8800. uO{gBhU7VF1H=(A`Ka
  8801. q@r[2
  8802. t|[&mJ
  8803. oY5'E
  8804. j:+r@2tD.wF-
  8805. hEJ/    
  8806. whIdI
  8807. m{e1K=
  8808. wPvdiA(BH$EN(MI,LP-PU*[I!]Z;e
  8809. pLr\=[N4OA.@A-<D+Cy^s
  8810. e0k\$nO
  8811. i_:*L!
  8812. b2)g7%k< o@$
  8813. tQ    jI
  8814. WdK&kM,}\5
  8815. \nO,R-
  8816. ZM9vjZ
  8817. hH!bA
  8818. u`2K=    eR
  8819. Yubk3
  8820. 0>!1D&=R:;
  8821. vkT4\G RlJj
  8822. iGqV;]M3OF/CK1BJ1CC*B
  8823. lf-{V
  8824. Z;    vR
  8825. ]S0%?
  8826. rD tD%
  8827. pjQ.cG#{Y0
  8828. knM*L2
  8829. _SH`J3L)
  8830. jV,y^$
  8831. uc?MB
  8832. ]{ce4!,4
  8833. *<"6C10
  8834. @!LN0V
  8835. {rR|RM
  8836. qL|aAlW:dJ2MI/DF-<L1=Q5KjGx
  8837. [!u`(}^#
  8838. `?h^<_
  8839. ^Q-'@
  8840. n=0qC(yI*|J4
  8841. uLfN,oT1
  8842. va9w],
  8843. ryg@OF
  8844. in[c0
  8845. #9#1B21
  8846. [>jT5]J3PM3LN1BU5JhGl|Z
  8847. G IfEi
  8848. fZ5,?
  8849. qA&|L$zK%yJ
  8850. WhQ-iQ.
  8851. uT)_=
  8852. zi?rY+
  8853. ue[9IA
  8854. gvcc)
  8855. !8!+L;1
  8856. nYlD*\mY
  8857. eC}W9eS2VV6SV7R[;WgFj{W
  8858. X!hvG
  8859. q]9/>
  8860. j;&o?
  8861. mfW6bP3
  8862. nR7U1
  8863. Y7    \8
  8864. ]7    [>
  8865. ~i;yc/
  8866. ``NK0
  8867. !:")B+8
  8868. u{N0O>
  8869. 3+I8$Lw^q
  8870. d<k\8__9\a@beCi~Y
  8871. a,r\&jU
  8872. sZ8+<
  8873. l= n>
  8874. {iF(W1
  8875. tXFiL-J,
  8876. yb8v^*
  8877. (@"2F(=I*CC
  8878. u`m6&Ht\d
  8879. mDyiDslEpvS
  8880. a*}b,l](e^*cK
  8881. |]8-4
  8882. n=!p?#tC+zJ%
  8883. y^@Q-
  8884. lL$E,
  8885. j;u_3
  8886. kW_nYXdQR^JPeKSgLUaHQmQX
  8887. hB}mDwuM|xU
  8888. `)sd-wa,jW![c4^
  8889. YUTedhhglfekfdkecidbfcaddbecacdaddadc`bc`ab__c__b^^b^\h_[la[la[d_^dabecfdbeecgechedjedledmfemfelgfnedlfelffogfmfelgfohgphgnhgpffohhqjjrjjrjjriirhhrghqhhrjkrjjsiirhhrhhqiiqggoffmddlfdhqpotsrssqsrrqqqqqqoorpprqqrppqoppoppnoomnonnomnplmnklkkllkknllljjljkjjkjhhhiheb_]
  8890. K`k.(%a^^ebcecdfdgeceeceedgecfecgecgecfeceeceecfeceeceedhecgechechecfecgdcfecfdbddbcdbddbddbddceedgedfedffeigeigfjfejgfjfeihhmihmihmjjojjpjjojjnhgijdcmb\pa[rb[sb[qb[pa[oa[l`[l`[j`[h_[g_[d^[d`_ebedbddbeecgeciechedjfelffmggohhphhpjjrkksihmb^]b^]b^]b_]c``c`ac``dabeaba^].(%K`k
  8891. b^^iehhcegcedbdlklppspprppr
  8892. rqsnkje`aljktqsrqriggc__hfgporkiieabeabeaaeabgbchbcgbdebcdabc`agegmlnmlnljlkjmihkihlggkffjfeiddheeiediddhddhdcfdcedcedbdcbcdbdcbdcbddcfedgedgeehffigfjihlkilkjmjhkfdbgd]jg^jh^jh_ii_jjallcllclmdmmemmemmekkdlldjjbih_hf^ge^gd^gd]eb]da^ca]YUS
  8893. '27E@=ed^ih`ih`ih`ii_ih_ih`hg`gf`hg`ih_hf^hg_hh_ih`hg`ihahgbfebfd_mocmocmobnoclmbgeafedhgdhgbhgbhhahgbhhbihciibiiaiiaji`ji_ji`jibjjaiiaihcgf_jjbopgpqioqhpqj
  8894. pqjprjhgbfd_gf_gf_fd^hf^ig_eb]c`\id\rk]rl]rl]rl]rl]rm]rm]sl]sl]sl]sk]tj\tj\tj]tj\uk]uj\uj\tj\ui\ui\ui\uh\wh\i_[
  8895. xsqsx
  8896. vakwy
  8897. p``j}xf``dieet
  8898. yb`fx}nz
  8899. _NV`as
  8900. g``dji`p
  8901. t``biich
  8902. t``biich
  8903. VN[ar
  8904. i[PP]dy
  8905. j`qxy
  8906. {dcbt
  8907. j}yg`e
  8908. digi}
  8909. y|ub`ap
  8910. ~vcar
  8911. j`qxy
  8912. y|ub`aw
  8913. vxj_k
  8914. ua`bhjeg{
  8915. y|v]dy
  8916. y|v]dy
  8917.     %j|d
  8918.     "`q[
  8919. %#! 4
  8920. |uh`j
  8921. ~vcar
  8922. }$"! m
  8923. digi}
  8924. ua`bhjeg{
  8925. `    k{uj
  8926. digi}
  8927. svv^f
  8928. m``bhhgu
  8929. g``djigp
  8930. m``cjhcl
  8931. p``j1
  8932. |uh`j
  8933. f``dieet
  8934. ~vcar
  8935. xsqsx
  8936. ommunications Corp
  8937. So (perhaps) we
  8938. ll see a version of Dynamic HTML that will be supported by both major browsers. That has to be good news. In which case, is it worth the effort of learning Dynamic HTML? Having played with it for a while now - and we mean 
  8939. played
  8940. , not 
  8941. , as we
  8942. ve yet to use DH for a real site - it
  8943. s become obvious that it offers some very useful extensions. 
  8944. Dynamic HTML lets you manipulate images from the browser code using tempting tags like Shadow, Blur, Glow and
  8945.  Alpha Transparency, as well as move and scale images on the fly, which should call forth a whole new generation of badly-designed and distracting sites. It offers many useful animation and graphical effects: for example, you might have just a heading showing, but when you click on it the full text appears underneath. Text and images can change whenever the mouse pointer passes over them, or when they
  8946. re clicked, all without needing a script. All the objects on a page will support onmouseo
  8947. rdct}
  8948. djigp
  8949. vxj_k
  8950. e`elkfmxw]dy
  8951. the Document Object Model, as described by the W3C Preliminary Requirements Document for the Document Object Model. As a result, Netscape Navigator exposes few page elements as objects, limiting layout and creative capabilities for authors. Page elements can be manipulated only while the page is loading, not after load time. Netscape
  8952. s nonstandard implementation consists of JavaScript Accessible Style Sheets (JASS), layers and dynamic fonts (TrueDoc). These technologies are not supported i
  8953. n Microsoft Internet Explorer 4. 
  8954. Netscape: (via email) 
  8955. Yes, we do have a Document Object Model, we are working closely with the W3C in this working group and helped write the preliminary requirements doc. There are aspects that they cover right now, aspects they don
  8956. t, and the same for us.  There is not even a working draft specification at this time, but we do fully plan on implementing the standard DOM specification once it exists.
  8957. Dave Bottoms, client product PR specialist Netscape C
  8958. {dcbt
  8959. {dcbt
  8960. }c`aejhgu
  8961. ua`bhjeg{
  8962. ua`bhjeg{
  8963. %#! 4
  8964. vxj_k
  8965. xa`flhy
  8966. yb`f}
  8967. j`qxy
  8968. vakwy
  8969. f`agi
  8970. yUMZ`aw
  8971. nRN]f
  8972. _NV`as
  8973. bijde
  8974. cripts to work with all the common browsers, and keep testing those scripts as new browsers are released.
  8975. Dynamic fantastic?
  8976. Dynamic HTML is a buzz phrase right now, but hot new technologies for the Web seem to appear every five minutes, and Web developers need to weigh up whether the time it takes to learn a new technology will pay dividends. But its sheer size and influence make Microsoft's products always worth investigating, particularly if, as in the case of Dynamic HTML, the W3C con
  8977. sortium plans to ratify it. (W3C is the body with the unenviable job of bringing standards to the HTML language - in our book anyone doing anything to reduce differences between browsers deserves a medal!) Even so, Dynamic HTML is only supported by IE 4 just now, though Netscape is implementing it, but with a difference. Rather than taking sides in the browser war, let
  8978. s just see what the two companies have to say:
  8979. Microsoft: (from the Web site) 
  8980. Netscape
  8981. s implementation does not support 
  8982.     "`q[
  8983. }{yww
  8984. j`qxy
  8985. yddnv
  8986. rdct}
  8987. ~zyww~
  8988. ndba``i
  8989. l`bhhm
  8990. yUMZ`~aw
  8991. uaPPX_k
  8992. bNN^f
  8993. m``diecp
  8994. m``bhh_u
  8995. i[PP]dy
  8996. teba``e
  8997. h makes it fine for intranet sites that distribute a single target browser, but pretty useless for commercial Web sites. Having said that, it
  8998. s amazing how many Web sites are designed to work only with Netscape (or IE), which from a marketing point of view is crazy! Imagine a company producing a TV commercial that could only be viewed on Sony sets?
  8999. Microsoft has recently confused things even more with the introduction of Scriptlets. At first this technology looks interesting, but scrape aw
  9000. ay the gloss and you
  9001. ll see that scriptlets are little more than client-side include files, and at the moment they
  9002. re only supported by IE 4. To continue the TV ad analogy, scriptlets restrict the audience not just to people with Sony sets, but to those with a particular model!
  9003. To summarise our advice on scripting: 1) Keep it on the server wherever possible. 2) On the server, try to use integrated and supported scripting facilities. 3) For client scripting use JavaScript, but design your s
  9004. nRN]f
  9005. }c`aejh_u
  9006. hPN_`m
  9007. yUN]dy
  9008. UMV`j
  9009. dji`p
  9010. cjhcl
  9011. dji`p
  9012. yUN]dy
  9013. ls like Mime type headers, line breaks and the correct use of semi-colons. It should be obvious even from this simple example that Active Scripting provides a cleaner solution, easier to develop and maintain.
  9014. Client reliant
  9015. On the client side, the choice is between JavasScript/JScript and VB Script. JavaScript has the advantage that it
  9016. s supported by both IE and Netscape, or rather it should have that advantage: in truth there are certain things that work in IE
  9017. s JScript but not in Netsca
  9018. s JavaScript and vice versa. Then differences between versions of each browser muddy the waters even more. Take the code in Listing three (see Code) for example.
  9019. Manipulating an object in toolbar.asp from some JavaScript in toc.asp will work just fine in Netscape 3 but fails miserably in Netscape 4. Why? Because 
  9020. toolbar
  9021.  becomes a reserved property name in Netscape 4! Who knows how many sites there are out there with a now-broken frame called 
  9022. toolbar
  9023. Only IE supports VBScript, whic
  9024. nRN]f
  9025. }c`aejh_u
  9026. $"ps#
  9027. {dcbt
  9028. ua`d{
  9029. }c`aejh_u
  9030. ua`bhje`{
  9031. l`bq|na
  9032. {dcbt
  9033. vdcry
  9034. rdct}
  9035. bijdm
  9036. cjhci
  9037. |uh`j
  9038. bijdm
  9039. pgxwcar
  9040. imxw]dy
  9041. but we first reported this multiprocessor problem to Activeware more than a year ago, and there
  9042. s still no sign of them even acknowledging it, let alone fixing it. A similar problem with ASP scripting was reported to Microsoft and got fixed within two weeks. It
  9043. s also important to bear in mind that Microsoft
  9044. s ASP and Netscape
  9045. s server-side JavaScript are both vendor-supported technologies, whereas most Perl implementations aren
  9046. Another nice feature of Active Scripting is that the HTML
  9047.  and scripting code are mixed in the same file. Consider the example in Listing one (see Code). This script prints the text 
  9048. PC Pro
  9049.  in fonts that increase in size from two to seven. This is a normal HTML page with three small bits of VBscript embedded between the <% and %> tags. Listing two (see Code) shows how you can do the same thing in Perl.
  9050. In Perl things are the other way round; the HTML page is embedded within the script, inside 
  9051. print
  9052.  statements, and we have to take care of detai
  9053. Pro 3.0 - 4.0F!
  9054. Pro 5.0 - 6.0
  9055. d%Fill In Number of images doesn't work
  9056. Set number of images = 0
  9057. Fill In Section
  9058. Unlock
  9059. Next Pic
  9060. cator, right through to folk accessing the Web from a Psion Organiser or other Web-enabled PDA. 
  9061. Mind your language
  9062. Choosing a scripting language is slightly more complicated. When writing server-side scripts you may be able to use scripting facilities integrated into the server, like Microsoft
  9063. s Active Scripting in IIS or Netscape
  9064. s server-side JavaScript. Or there
  9065. s a traditional CGI scripting language, the most popular of which is Perl. 
  9066. At first Perl seems to be the obvious choice, as
  9067.  there
  9068. s plenty of example and library code available, and a degree of cross-platform portability. In reality, something like Microsoft
  9069. s Active Scripting has a distinct advantage in being far more closely integrated into the server
  9070. s environment, which enables you to build a more feature-rich site. Also, we
  9071. ve found that the most common implementation of Perl for NT (by Activeware) has serious stability problems, especially when run on multiprocessor servers. Okay, all software has bugs, 
  9072. evice driver plumbing of the operating system. 
  9073. **He gets my award for having the honesty and integrity to speak his mind over the lack of driver-signing lockdown in Server 2003. At the London launch event, I asked him why it was that Server 2003 didn't explicitly forbid you from installing unsigned drivers. His response was clear and tinged with a little sadness: 'We didn't have the courage to'. 
  9074. **It turns out that only a small percentage of the drivers come from within Microsoft, and 
  9075. it still isn't possible to ensure all drivers are properly tested by the authoring companies and digitally signed. This is, of course, simply the nature of the beast - Windows 2003 has exceptional out-of-the-box hardware support and even greater support from third-party manufacturers, who will release their own drivers (often with enhancements and new features) once the OS has shipped. 
  9076. **Personally, I wish Microsoft did have the courage to forbid unsigned drivers to be installed, even th
  9077. rewalling, I raised the difficult question of port 80 filtering with the Microsoft team. Now that all sorts of traffic is being pushed through this one port, being able to manage what comes in and out through 80 is becoming critically important. This raised a number of smiles and lots of nodding, and I think they have something up their sleeve for later in the year. It was also good to hear that they clearly understand people want to use both hardware firewall appliances like Cisco PIX and
  9078.  SonicWALL, and software ones like ISA (Internet Security Accelerator from Microsoft) and to deploy these in a layered fashion. I said it would be a great pity if forthcoming work from Microsoft in this field required one to have ISA as the primary boundary firewall, and I was assured this wouldn't be the case. 
  9079. **Quote of the Month
  9080. *The accolade of Quote of the Month goes to Rob Short, corporate vice president of Windows Core technology. He's in charge of the Windows kernel and all the d
  9081. od to see Microsoft's latest work, which allows a server to harden itself down, blocking off all ports that aren't required for its functional configuration, and thus encouraging servers to be better protected from the surrounding infrastructure. 
  9082. **For myself, I've now taken the drastic step of allowing automatic overnight updating of all my core servers and desktops. I know there's a risk associated with this, whereby a 'bad patch' might render a server unstable, but this is a risk I'm 
  9083. prepared to take - at least for the majority of time when I'm in the UK and thus physically close to the servers. If I can get through several months of this procedure with no major crises, I might well recommend that some clients test it on their non-mission-critical servers too. Even given the hard firewall capabilities that I have in place, it's still possible that something nasty might get through, and this daily updating will hopefully keep these things at bay.
  9084. **On the subject of fi
  9085. column this month, so I'll stick to a few key points here.
  9086. **First, there's no question that this product group is totally focused on making the Windows platform more secure and easier to update. They asked us for feedback on how we thought they were doing, and we raised the obvious issues like Windows Update only updating the OS and not the applications, and that it was a mess to have to go to Office Update for some pieces and to various other places to get other security updates too. It
  9087.  was made clear that we'll shortly be seeing a single, unified Microsoft Update site covering everything on the machine that comes from Redmond. It might even be able to hook into third-party applications too, but we'll have to wait and see on that front - it would certainly be nice to have a truly one-stop updating shop.
  9088. **We also talked about the need to harden servers and desktops within networks, and not to rely solely on the protection given by border defences like firewalls. It's go
  9089. ual Studio .NET system and deploy them straight onto 64-bit platforms as native 64-bit applications. No code will need to be changed, providing the project stays within the rules of the virtual world of the .NET Runtime. Calls to external services however, especially to COM objects, will present a new level of problem. 
  9090. **Server Security
  9091. *As you might imagine, for the release of Server 2003 Microsoft has taken the opportunity to talk at as great a length and as often as possible about sec
  9092. urity. I was fortunate to attend a meeting hosted by Stuart Okin, chief security officer of Microsoft. His background in Microsoft Consulting Services clearly identifies him as one whose knowledge on his subject area is pretty definitive. We were also joined by Craig Fiebig, general manager of Microsoft's Security Business Unit Product Management Group, and two of his colleagues, Guy Friedel and Zachary Gutt. I know David Moss is going to cover some of those discussions in the Back Office 
  9093.  installed on each machine. In essence, any application can be compiled and run anywhere that the run-time exists. 
  9094. **This is mostly true, but it ignores the limitations of the various versions of the run-time frameworks available for different platforms. For example, the one that will exist on the smartphone is much smaller and less capable than the one that exists today on the Pocket PC platform, and this itself is only a subset of the one on the full Windows 32-bit desktop platform. 
  9095. **With 64-bit Windows, we'll be getting a 64-bit .NET Runtime Framework - or, rather, it will be forthcoming but don't bet on it being in the first shrinkwrap. It might well be there as a beta release only, with full release next summer when the next big release of Visual Studio .NET is ready. This is the release that includes all the functionality of Yukon, the forthcoming database engine. 
  9096. **So, once we get this new run-time, it should be possible to develop applications on a 32-bit Vis
  9097. ugh all this code and make it 64-bit clean. You can be assured that the core operating system is 32/64 clean, as Cutler and his core engineering group have ensured that their kernel code remains portable and processor non-specific. However, the rest is an example of the code-rot that we feared would happen once Windows was allowed to become a 32-bit-only, single-CPU family. And incurring The Wrath Of Cutler isn't something to be taken lightly - I'm sure you've heard the infamous story of h
  9098. im punching a hole through some wretch's office door and opening it from the inside.
  9099. **Just to be clear on this matter, these omissions won't affect the AMD 64-bit platform alone - they hit the Intel 64-bit platform too. Some help is at hand, though, and from a direction about which Microsoft has been rather quiet so far. Visual Studio .NET, as you'll know, compiles applications to Intermediate Language, or IL, which is then compiled and run on the fly by the .NET Runtime Framework that's
  9100. t AMD Windows XP and Server 2003? The official answer is currently running at around 'the end of this year', but once you look closely there are some issues that the marketeers would prefer you didn't notice. For example, a significant amount of more advanced 32-bit applications that come in the Windows shrinkwrap just aren't there for 64-bit. The reason? These applications were hard-coded with specifically 32-bit memory assumptions in place and can't benefit from the 'just pop it in the 6
  9101. 4-bit compiler, crank the handle and watch a shiny new 64-bit application pop out' as promised by the PowerPoint slides.
  9102. **Indeed, I've heard that no less a Windows system luminary than David Cutler himself is far from amused to find that these pieces of the puzzle have gone 'missing in action' for the present. For an example of the problem, you'll soon discover that the whole Windows Media environment is hard-coded to 32 bits and won't port easily. 
  9103. **Basically, Microsoft has to go thro
  9104. ll assume that everyone is as clever as them, and when they do provide Wizards it's supposed to be obvious which ones you should use and trust, and which are a little more dodgy (the infamous DCPROMO Wizard in Windows 2000 falls frighteningly into this latter category, of course). And the truth is that your Normal Distribution Curve of users will almost certainly want to wait until something more dramatic than Server 2003 comes along. 
  9105. **64 Bits of Fun
  9106. *Only the most power-crazed and dema
  9107. nding of sysadmins will already be looking at the new AMD 64-bit processor, so not surprisingly I'll confess that I'm finding the new 64-bit AMD processors extremely tempting in a way that Intel's Itanium hasn't been so far. The prospect is of a dual-processor motherboard costing just a few hundred pounds, populated with processors, which don't cost much more, offering  up a compelling 32-bit platform for today and a rosy 64-bit future after that. 
  9108. **So when can we expect to receive 64-bi
  9109. s silly at the prospect of The Big Change. Hence they're still running NT 4, because no-one has had the time or energy to look at Windows 2000 AD in a serious way, other than by peeking at it from behind the sofa. There's probably much in Windows 2000 and AD that would be of great use to them, but just getting started is a daunting task. 
  9110. **Finally, there are those who've moved, probably because of the need for Exchange 2000, and yet their network is running in Mixed mode, there are still
  9111.  a few Backup Domain Controllers from NT 4 on the network, and Windows 2000 AD sysadmin tasks are best tackled after a large gin and tonic or two.
  9112. **It never ceases to amaze me that software products seem to be written not for the Normal Distribution Curve of skills possessed by actual members of the public, but for some strange phantasmagoric creature that can trot off IP addresses, do subnet mask calculations in its head and the like. In other words, people who write system software sti
  9113. at around half of the installed base of Windows Server is actually still NT 4 Service Pack 3.
  9114. **There can only be a few reasons why people are still running NT 4. The first - and most obvious - reason is that it works fine for them, they're not missing any mission-critical features and it will continue to work into the foreseeable future. It's hard to see how these people are going to be persuaded to upgrade any time soon. 
  9115. **The reality is that NT 4 SP 3 is still a fine example of a bal
  9116. anced and focused platform that performs its tasks in a most effective way. Microsoft might eventually get these users to upgrade to Windows Server 2003 running the forthcoming Virtual Server product that it recently purchased from elsewhere, and at least this would allow sysadmins to keep running NT 4 with some semblance of modern driver support underneath the VM subsystem.
  9117. **The second group of people are those who've looked at Windows 2000 and Active Directory (AD) and scared themselve
  9118. scaryA
  9119. scassidy
  9120. scathing
  9121. scatterF
  9122. scatter-gun
  9123. scatteredG
  9124. scattergunc
  9125. scratching]
  9126. screams]
  9127. screeching\
  9128. screenD
  9129. screen-readingH
  9130. screensE
  9131. screenshotF
  9132. screenshotsB
  9133. screw]
  9134. screw-upL
  9135. scribblesT
  9136. scriptE
  9137. scriptingC
  9138. scriptsC
  9139. scrollN
  9140. scsiJ
  9141. sealedJ
  9142. seamlessE
  9143. seamlesslyN
  9144. searchG
  9145. searchableK
  9146. searchedI
  9147. searchesI
  9148. searchingO
  9149. seasonJ
  9150. seatT
  9151. seatsT
  9152. secondA
  9153. script would be able to provide the answer without further Net access, whereas a server-based version has to reload the page with the answer inserted. 
  9154. Forget the theory, though; experience shows there are two overwhelming reasons why you should keep scripts on the server side where possible. First, there
  9155. s the matter of code security. With client-side scripting, your widget production cost algorithm is available for all, including your competitors, to see by simply selecting 
  9156. View Source
  9157. . Do you really want other widget producers to know how you calculate your widget pricing? Probably not.
  9158. The second reason is browser compatibility. Not all Web browsers support scripting, and even when using suitable browsers like Internet Explorer (IE) or Netscape, some Web users experience abnormally high paranoia levels and turn scripting off. Keeping the scripts on the server side ensures anyone can use your widget calculator, from people running the latest version of Netscape Communi
  9159. MS Sans Serif
  9160. e1kl8uT'dY)eb,~]+h]-qX(eb*
  9161. \Cfz`
  9162. K5OnS
  9163. mKrd;[`;ZJ#8?
  9164. ,^0UI%@I$0>
  9165. "]9RlEZK(4L+6_5P6
  9166.  H&2K$@sFw`7YQ)=m>soCb_-aI H9
  9167. !W*FM$>V)Nj0
  9168. pGtf?br9
  9169. a+Wn5
  9170. \*^mDp
  9171. g2k]+MQ'Tk6|c/~]+v[)
  9172. [OyY;m9+RP7S`;U=
  9173. &Y)PM*8\8K>",8
  9174. xIhY/NL'=N+;
  9175. L&;W,\xJsmCd\-]qClZ3CrC
  9176. T#Pn:ug2w]-JQ&HI#C_*o}?
  9177. sBj_*qn;k
  9178. g1yc0
  9179. ]*}g-
  9180. }c|][
  9181. dC}v`
  9182. `<e;6WaL
  9183. rKoV+JS+C
  9184. `yL&;I$:Q/BqFeE 9L">^5Na7fL%J^,cL&0qFch?s|Y
  9185. 7B#5q@rO$2`0R\-V^-UT&^~A
  9186. c.LuFrb+n|O
  9187. b0kc-
  9188. Y*l^(
  9189. N8uF+OoR
  9190. N)SJJzJEvTBeP:aU1KK*FL+<g=ig8x>
  9191. )i?oiDvM#;d1okAgQ.DJ'%
  9192. [3YM)A~J
  9193. yM~C 9T'Lf6bn7s_.^t=
  9194. p?}q?r
  9195. ]'hc-
  9196. \+sj1
  9197. ;'NUN
  9198. T(X`1hrC
  9199. oL_Y2NxG
  9200. Y)P^(Va/e_+la,k
  9201. a.mwOsh=nd,zX#\xK
  9202. U'ef.
  9203. F-zK%
  9204. W0TpBkb1c
  9205. e7pP&Jc,g
  9206. -h+wW(_q:
  9207. qQy`+
  9208. >,XbT
  9209. vI{p?qg0~
  9210. p?id6_C
  9211. c.ze*
  9212. c/swG
  9213. T)Zo3
  9214. =*]CT
  9215. `(~}N
  9216. _>o]#~f.~C
  9217. g6gkAq
  9218. ]3u[$zs
  9219. X*Vb/vq7
  9220. ^*xf3
  9221. W(Zk3
  9222. X*XY+i[+gZ
  9223. *nZ)_e+
  9224. Q,Ve<
  9225. S%hd(
  9226. [.Vj8zQ(7`/yf2
  9227. Q'K[.XX+KX*e[+gc,
  9228. V(Ca-}
  9229. Y+hW*gY+i[,Oi2
  9230. `.n\-bS,XT([o6
  9231. g6cZ(XN
  9232. N!Kg3
  9233. ]/af3
  9234. J%Ma0Wp4
  9235. R(S]/i\,lY-Xg0rY,RV(Wj4|a.g\-"_-LR
  9236. V-QS(H]-YT'MN%JP&NR+?E *J$,^.Zn6}W+I_0mO))k4
  9237. ],ai3
  9238. a/^P!C^-[
  9239. _-u`1hX/Qd2QW)CP&JM$Sf5z]/ak3
  9240. \0Xd/
  9241. ^-]h3
  9242. _.yf3
  9243. W+R].]\1Hq8
  9244. `-{X*Ya0l_-ie.yZ+Yb0fg4zj4
  9245. c0qc1pj8
  9246. Q'fS*3p;
  9247. \-Lc2n[-Tu9
  9248. h:`U*Cg1
  9249. f2de3XR&PZ(otHv
  9250. _-q^-x^-x^-bR'DS&TT(0`.jZ+cm7
  9251. o;}^-oF 0R)CC 
  9252. ^1\n9
  9253. ^/RY,J`.Yg1
  9254. e3dW'GZ*0c1vq:
  9255. k`*xb*
  9256. \+nb*
  9257. V"hM!3b&uL
  9258. DV#lL
  9259. b0fT*Pd2p_.pi8ib2
  9260. ^1DT)Bl2
  9261. f4\g5Y}E
  9262. [,E`1S
  9263. [#rR"PX)WN&'X,Hg5fe2|l8cm3
  9264. g7Cc2a`0ik:toB
  9265. qK_S*?^._[,Lh8mh1
  9266. j4|^/Ph0
  9267. j8^r?uo;xk6|pIh
  9268. {b3rm5
  9269. e1z]-@i2t_-aW,Eq7
  9270. b2h[.4n;]N 6
  9271. mBt]-;k5
  9272. k5uf3I\-Db39g5Dg4zY,Aq=yY(F
  9273. ]Oeyjp
  9274. wYnW';i6?a1Au?
  9275. c1P^/Hg6czH
  9276. j4|a.mg0n
  9277. l<[r=qr@^`0Z_/Q]/Of5^{B
  9278. G!yT!
  9279. f]Y'Il;]Y,7i2xY,LX+6k8kd1
  9280. W/HS(N.
  9281. P'6D!
  9282. E$|D!
  9283. e4ywH
  9284. X)spAtm:}k<{e6bpCpnFzxL
  9285. h>[e.gq;ey=
  9286. m5|xDy
  9287. m7oj1
  9288. R-=S-?`1SK%<4
  9289.  U/HK&-f6SB  F#/\.WB"4
  9290. ^1_q=
  9291. g3mk9qk7
  9292. d3\h5kY,>U*/i8sn7
  9293. Z2eL$D[.XyOO
  9294. ]"oi6Ti5bg2ar9
  9295. _/Se3Rj7{n?x
  9296. "C %%
  9297. >"&I%0S)G.
  9298. Q'Ea7XuHyK'@6
  9299. vCttB
  9300. ^0Mf4qk8kc3G`1dq?kb2[k9Xf7Qd3
  9301. ]2hW-RU)YU+9d3tg7v
  9302. pCVZ*Da.Zl6
  9303. j5nT)"l6xu:`
  9304. a@Q_6Y9
  9305. V,HV+JD"%5
  9306. o>{[)YX,[O-J*
  9307. M BV0@
  9308. P&KvBmtAdp=vW+Ea/wf4
  9309. a0Mm:ao:t[.4~Lh~M
  9310. g:qn<
  9311. ^.zg7v[,aY-\j7
  9312. nnc'vk5pd3\U(=k:On9wl8
  9313. v~A)4D
  9314. &g9^8
  9315.  J&?8
  9316. I$<b.ZD$*1
  9317. R'GY.MX-]S(Q<
  9318. ,F],`I"0c9Y
  9319. o=Yj7mp>u\.1d5En;pb3]b1Ck:H[/ER)]m9
  9320. S)pq>
  9321. [.a^0_B
  9322. k;ic0Pm;xb0fb2^a.pi1
  9323. B!9A#2S)5.
  9324. 6D +T*NH#8A
  9325. N(9T.CH';F#8t?~c3_c3qC$5T/D
  9326. j9ga,
  9327. `0a[-2f54j7Ue5Ma1=b2bo@
  9328. V)n`0sa1
  9329. P&lm7
  9330. `.vd5~U+Fb4`[/dN&A
  9331. d,Z{C
  9332. h6zb2`
  9333. mOiN&GA
  9334. 3J%%9
  9335. C#7d2QL&DL(@J'CM'?R*>J+=@
  9336. 8L'0L$:f8jY+DX,@V*Y\-\i;
  9337. V&RZ9A
  9338. _/U[+F]-[Z.JU*:Z--\,/]-9^/$\0@i2
  9339. Y)~d-
  9340. W+U_.si1
  9341. Y,nc1
  9342. J$OH"5W+Mk9ih9u].cV)@mERk;
  9343. h.xV&Gn7
  9344. e0mi6v
  9345. #A!.\6O9 
  9346. C$1A"#6
  9347. X)[Q*Ml:vM&?8
  9348. a4WM#;p3
  9349. B!4F$0P(Al3^L#BN%C,
  9350. q:q^-Uf5
  9351. h_/CY,5^/-e58^1/U*Oj6
  9352. `/yQ&XY+Uf2
  9353. b5~I%FT)H\/bf3yY-EZ-&X-.`1^
  9354. W-k:!
  9355. e2pg3`uK
  9356. d0    l7
  9357. M4LN$L/
  9358. Z0EX1TG$@0
  9359. H(&I%(9
  9360. #J#8V'Qf3kH#4S-B?
  9361. &R'3b7h`1^E#,C"5U'C_+lj8v4
  9362. $Q$IvKn
  9363. ]-Y`0Zc4;\/(_0.]/3a1-^.Xq4
  9364. S$bl6
  9365. _.sY*kk4
  9366. `2fm9|P%?W*gY.MI#<b2qf6U_07`1^r:
  9367. T+S<"2+
  9368. J'CU(mV)IK'62
  9369. E$2H%9B!%O(:`-RI#?S)T;
  9370. #? #m5bY'XK#+=
  9371. 9N'>M'UW%LnD\
  9372. ^/EU(@]./^0
  9373. Z-&^07a2ig*
  9374. W$xU%t\-na2rc1xf.
  9375. O%EV*]^.eT'LU)Hg4
  9376. Z/RY,Th5q^.Ff2hl9ln;kc51
  9377. puCXk5u~W
  9378. dEX; ,L,@Q'B[)^S)TO+MK'6(
  9379. V&kV)LV+EF$7#
  9380. /N#J4
  9381. P(;Q%;[0l~P
  9382. [.^Y.Y)
  9383. [0W`,_^+br;
  9384. L(OW+Ee2xr?
  9385. Y+6a1;j7/\.
  9386. ^07m9|h6
  9387. W!vd6yW0YN Uh4
  9388. J!<_-mi3
  9389. O(GW,`l7
  9390. gf2hm8fZ-Hc4Tc3Kf4\g8H
  9391. ](xJ$
  9392. FQ!B.
  9393. B :>!32
  9394. = *H&1=!'I&-R&ER'^6
  9395. U,BK%<F";I#7a9o]6eU$\S#QR+Dm>kp>
  9396. S';k5
  9397. Z)G].Wn@
  9398. b; s4
  9399. Y,3a19q=Qj7Yt=
  9400. T%c]$x^$zY(q[*pO&@S*UM&I[+V]/Ol6
  9401. b.qp;yb4Lq<
  9402. &Q*S0
  9403. D$1G%4>!3I)0N';9
  9404. &@"3K
  9405. T[+ZA
  9406. &@":d7p^2tK#Lf8^a0JV*H\-\Q(?R(OR)UO&Cd/`
  9407. ],Vb0KX+VqTh
  9408. _/KQ("Y+au9
  9409. P#hg2
  9410. eub@iO&IX+Gb.qZ+aX+CF##Y.Yf3ad3?c2O`,q}HJ
  9411. '; 'W*g4
  9412. V*Q_,kS(PT+Mn7|I#?c8ruD
  9413. J$>oC{^>jU.eF"O3
  9414. !a6^d/Kd3lm8
  9415. b/pg1wX(SZ.[Z'[g*
  9416. `0ZX*D_$f
  9417. c4Ti5
  9418. S(Yi5
  9419. T'dd2mg.
  9420. h6zj-
  9421. ^0dS+:d5ZR3@W/+Z-Bl9l
  9422. -:"%9 (J#Sp8
  9423. X(I?#.H'?]-O9
  9424. -E 4V/SN(G?
  9425. ;_/`M'Ej4
  9426. Y-X\/Lo;
  9427. U!XK*NH&5\'oc*xf2tJ!Is8
  9428. P*OF =o7rp7
  9429. T'=g6gi)
  9430. X*jY%zU&_\#{tF
  9431. \)iM%A^.Ts<k`7]^39xA
  9432. f1Nq?CxJ$
  9433. E#<T)I< (4
  9434. &T*U;!/O$RB#;G&2T(P-
  9435. B!4V,YM'DD"9f1TE
  9436. I#<X&qd3tq;
  9437. X(eR'^m5|f1jQ#Lm5
  9438. c5h`*to5
  9439. b/vy@
  9440. h2il2vy@
  9441. B&xD#
  9442. [+rR-Td1
  9443. W-gT)b\)l
  9444. -M$%c=_h:`p?g`2LS''}IMqB
  9445. !T%P@
  9446. ;X+hP'\K#Ja-r>!54
  9447. %b6j_,nR%[?#1W(aJ)FI%ND ED!4D!6?
  9448. "M"-i1~a1psB
  9449. I%@V)N^(nn7|i6dt@
  9450. N"@c,o_1cj7
  9451. e1_t>yj3y
  9452. `/|[/gk3
  9453. V(dX*Yj8
  9454. 'a3BR+?i4}U*:E-;`1O
  9455. x0~M1
  9456. R&q8 4m:
  9457. &V)NX zY&tI#6J$LR&IG"3I&5Y*\K$=J(4O%L]/ae/xR&bP'HD#2N*Jf5h=
  9458. [/KQ&HW'NT%Uh6prC
  9459. j7{q;
  9460. U)ai1
  9461. U(eg1
  9462. c/{N&EV+WlA
  9463. [n`+[M'/D",l9l_0@a4]o=P
  9464. uA}Q&
  9465. S/oj1
  9466. S!mP(bv=
  9467. Y&iI$HG#MU*_N CG"&4
  9468. G"?X.TY-eD!IV-X\,_M'EN+T?";< 3C"5R'Gi2
  9469. O)EN(F^-]
  9470. b/pl4
  9471. Z#lN*Nc0wm1
  9472. _-eg-
  9473. n:|tC
  9474. \0eh2
  9475. c/~b/
  9476. [-bU+V^0bY)Z
  9477. m=tg.ua.ZU*E_/Oa0S
  9478. Q&H[+kq2
  9479. b0ni5xZ0\K$IQ'En5
  9480. Q+G@!<> 4_-qH%DH#=Q#Um7
  9481. B"BR(Nr>v]*jI"Jd6yq7~c1d`-lj2
  9482. Y-eu;
  9483. i8orAzp;w
  9484. \?!kC)
  9485. Z+[X+\b.{U,Mb/{e2
  9486. d2uV$M
  9487. T)-e4coAvxFe
  9488. z3rE+
  9489. K!?f9tr;
  9490. /M'NtE
  9491. Z-][0fI$?R)IU,WI%7J%H2
  9492. /B!DR&P5
  9493. @Y%S`#
  9494. j8zP(JE :N%CW&\w?
  9495. [*`wB
  9496. W"ch/
  9497. g0xh/
  9498. X*gn7
  9499. Y,fZ,kR%Sk8
  9500. Z|dLq
  9501. nfyH4
  9502. LJ#Hj:
  9503. d8bA!9B
  9504. @l:vl7
  9505. [(Wb.{N%[C#=M&V4
  9506. `+ik2
  9507. O*P>!5{C
  9508. I!@G Nj2
  9509. S!^]*ui3viAqwArq;
  9510. `1qa/
  9511. [+d_,t_0mJ'F`2l`1dP'U
  9512. XHqA"[4&
  9513. P$NZ)dp7
  9514. ]1``5fj9tS'FH$:Z.[\.dP#]x7
  9515. $^6ih/t`+iM#WO%Ji3
  9516. X)NL$Qq9
  9517. g-twA
  9518. `1vh2
  9519. c0qr5
  9520. P#SW'[]/iO*7\/bg5rL"2
  9521. xzP.hA
  9522. b*uN<
  9523. lQoU=uL5h@+
  9524. ]1s\*
  9525. V&fG%EV&TK"Jn>
  9526. +P&fg5
  9527. I%Eh-
  9528. a.uY+mI%<\(ua)t['aG$GxD
  9529. n8pZ'b
  9530. l4{q=
  9531. h9~Z*bzH
  9532. `1qV(WO%JO&W\-ke2
  9533. X+V\-PT)HH#8M"-
  9534. v@{[=
  9535. MpRFsI
  9536. vR.qK8
  9537. uxYV`>/
  9538. C 6G Hj0
  9539. `,yz@
  9540. ; 3^2t{E
  9541. Y&qR&YF
  9542. /b-qh)
  9543. P^(}xQ
  9544. e-}i:
  9545. i3~r<
  9546. mG"x:
  9547. U&XX']K$9Q(Cd3o[.Y\-VW)OC" I$+G
  9548. W kE 
  9549. jbaOMwz
  9550. d6ym7uL Ul5
  9551. S#r^)`y@
  9552. _)rj8
  9553. b.x}F
  9554. M&ZJ%P
  9555. e3d|H
  9556. M%7^.\R%LZ+lV(HS'9d1f[+Z_/QU+0[,Mj@Z
  9557. {N#W0
  9558. U:ElmujNAtfjwY=
  9559. a-rzI
  9560. U(ce7yy>
  9561. P l]#~
  9562. \&xd1ol9
  9563. T bh2
  9564. W,Cb0_^0fW.TX+6V)A_0DZ+L_,YU+@K"4S)@
  9565. [-yH)^0
  9566. \@qU?
  9567. W&xY>}wo{z
  9568. [,aO&f
  9569. M cZ5_n7
  9570. ^+uR(Ss:
  9571. f.~f/z
  9572. M Vo2
  9573. UA#r=
  9574. nM%n8
  9575. X(OU(Fr6
  9576. i5nP';S'FU)5\,HT'=T)BW.
  9577. w+wN"qI
  9578. \'yP+{S&lG$
  9579. fFrM4vJ-]>+
  9580. n9we2|p;
  9581. g3rn=w
  9582. YG&W< b
  9583. P(AQ'5X(Td.eS(<T*+L%*Y,;_0@`/3[.9L#0Y7@
  9584. qkD#V*
  9585. {]<Y<1fL6kQ7fJ:
  9586. T&gk5
  9587. [A!ZB l
  9588. \1CV*;[.9c,Z\+KK&
  9589. R)6U)1T*+T*%P'4T+4N",a:J
  9590. {N*h>'
  9591. e3sW=qK
  9592. YD"]8
  9593. ^2QM'*U)1T)/M&6L)*a1[P'4B!%V+9^+Za1KV)2k7Q^*QK (
  9594. jCZ2 vT8
  9595. VD"]O&x8
  9596. J!1^0BT)3R'<j5qR*0X*DT* V+-S'9T(>]-B`3:^3A\,<\):vS`
  9597. e7!oR>
  9598. k?pQE
  9599. i<lUC
  9600. \(uqA
  9601. gC!tC
  9602. I;!C4
  9603. V-4^-:_2;N%-[+IX+NY.:U);V+.R(
  9604. S*#S(0Y-&X-5O&#H
  9605. bA.P,
  9606. wP!ygdfF&
  9607. Z?!R@
  9608. f2LP'([/,K%
  9609. \,<Y-6X+3h2dV)AI#
  9610. U+*U*"W+![-6K%)
  9611. [,vJ-
  9612. bO3m`a
  9613. Q> @G%ZA
  9614. N&AO)+`1CU+&R('V*;`08m86X+'W-1d4@b15d34S(.S(*c<@
  9615. hA.f>
  9616. G cK&X0
  9617. QI(U8
  9618. S)9U*:^.<X,,[-<T'2
  9619. S)5Z-&\1(U+7W)'[,4Y-&S*$M"
  9620. S%g>$hB
  9621. }[;c2
  9622. C>!CK)T?
  9623. KJ"a;
  9624. S'-\.A_1=K&-V+"[+
  9625. M&"R*$^.FS'0_3$]0
  9626. .R(&Y-&B
  9627. qPMuB
  9628. W+ rB
  9629. mTx[G`cP
  9630. cRyp_
  9631. aB E;
  9632. 8:"P9"MF&g
  9633. V)6Y+MO&
  9634. _1#Z/,Z/(W*(W*&\//X-*`0,Y-,D 
  9635. hlrNI
  9636. S:}Q6YX8Q^BnF5`nS
  9637. `Cr8'0bCmP6x<-S9(M1
  9638. N=!NO
  9639. 70    W-
  9640. TD"U< LG$]N'JF(QF(bB#8?
  9641. c6'S-$M#&`2G\01Y,(a1AY-,Y+
  9642. [.3f3:_.0`1EK#"Q-(
  9643. e2yP>
  9644. m<$a1
  9645. M${@!4: >4
  9646. 4A!]D
  9647. B<!DF);?
  9648. 'B#L3
  9649. <H#fF%fE"_A!CM'^@ UD$JE%M>
  9650. >B!V>
  9651. ^E#RJ'T
  9652. U,7W*=X,,^.8N$$Y.,Q)!X,%P)"V)#S'%W+-P*
  9653. Y;!Q:!TV.
  9654. 2F'F9"4<!K: 0.
  9655. 2> >8
  9656. $J&hB
  9657. VE$#? L-
  9658. NR%x: >5
  9659. +>#GF%aB"4F$`:
  9660. WB$dJ&}
  9661. R(#S).Q)3^.8W+!b3*\-FU+*X+'[,-Q)(Q((j5EU&1}`e
  9662. I($R.
  9663. kA)rL
  9664. |I c7
  9665. <=!D6
  9666. K?"Q<
  9667. I@!H6
  9668. ?@#DD"E:
  9669. DB#@A$H@!Q?!8;
  9670. ?B#HJ*VE$VD!M=
  9671. F? J?
  9672. f6>Y.,P)!Z,AN'&R(#S%.f3O^.8X+'T*%Z+9q<Y[,E
  9673. \2&xS)
  9674. wF i7
  9675. 5?";.
  9676. 0<!N@!Q7
  9677. ?> JC
  9678. 0= 9I';?";9
  9679. BE YR+WE"C:
  9680. MJ#_?
  9681. M&!]/2\/&[,(h7EZ,3P'
  9682. ]-Ee5=\.3_0@h5GP&
  9683. {E%i7
  9684. 2+v<+x(
  9685. 2> 1,
  9686. 6F&@?
  9687. /V1O>#@:
  9688. FJ$dN&bB"b:
  9689. FG$@M([;
  9690. ZG&SB#T
  9691. N("V-2V*;W*&\/&Q'
  9692. Y,#O$(Z-&[+Eg4Jb2BU(&rI]
  9693. <:"=1
  9694. <@#F0
  9695. .F#U-
  9696. >B"7? 15
  9697. fN%oG
  9698. PB%_B"BG#M
  9699. X+0_2;S';_1Aa25V+.S)&I"%Y,9`-B`1:e3@W'1~X_
  9700. DB%>= >>
  9701. LN*hB&]A!D?!D>!VB!D7
  9702. == P=
  9703. -@!N7
  9704. LB [J$c@!O
  9705. P',T)/W,(_/;b42W.1S'%Y,#W*/R( c1Fm7MU%6
  9706. *>#.?!:9
  9707. 7E!NE
  9708. JE#,< >5
  9709. AC!E=!GO*PP*B;
  9710. CB#ON$q5
  9711. ID#SH$X
  9712. N&'E!
  9713. R')S,2U&=X-5Z+.U*(a.GY*4]-9i6T[-&
  9714. ansG8`>:w`b
  9715. 6B%D;
  9716. 3O'a?!-B"@6
  9717. PH$_N,FQ->C!RT,QB$86
  9718. BD"E:
  9719. 5=!C:
  9720. [+(X*&P'
  9721. K&$F 
  9722. T(6e2ER')S%.L#"[-Ba0J\)>
  9723. isuJX
  9724. Vzb8D
  9725. G@&:3
  9726. ,6 0A%:-
  9727. &C OB!<C"?=
  9728. ?>!Q7
  9729. HD IK+]L,@? 3@
  9730. GJ%X=
  9731. S= 6>
  9732. R(&a0<X+6Y-1W,(S*$R''X+3]-IU*<f3Ui1`
  9733. }PQsJ
  9734. 7F DI&@3
  9735. QA%M?"?B"-;
  9736. 6: '8
  9737. 4; 3E%U<
  9738. GJ'.G&,
  9739. P)"Y-1U*/N$$S)&m;Y],ET*+W+:Y&Km5t
  9740. pflCD
  9741. n~sKO
  9742. < 2: I8!/>
  9743. BA"84
  9744. %I'AE%aA#G9
  9745. +K(RH(QA!X>
  9746. 5J%K@
  9747. *H%WL'K
  9748. _1E[,-U,(f5Af6B`4H^.8b,NT"-e:U
  9749. PGg<?
  9750. Z\|PX
  9751. p~[6B
  9752. ;@ D.
  9753. 2B!aE"M4
  9754. +@$0=$;@!J?
  9755. ;< K= 6?!EK#RW2G\3]Q$]6
  9756. _2.^.&d41d2GZ*FN&'^+FX#T
  9757. a]uEE
  9758. QEsEGuIO
  9759. `lzOayP>
  9760. fpC&6
  9761. 8B&79
  9762. 4B"N;
  9763. <D"5?!D<
  9764. GF";>
  9765. TN,FG&S;
  9766. RB!P<
  9767. b2$f77c3SU(7U($V(+a2e
  9768. kY~P6
  9769. QIf: 
  9770. l~aAZS,1yP 
  9771. 1A"19 +4
  9772. ?= 99
  9773. 7A D:
  9774. IB#H@$>B#EC!K6
  9775. e41],0P%/[.4Z'Lj;p
  9776. oa|N*
  9777. dZvJB
  9778. O-qF"
  9779. k?+G+ i@A
  9780. SYnFU
  9781. Xe}Iv
  9782. Vk{Ra
  9783. (A DC"?2
  9784. E>#7=
  9785. .J'CD#G9
  9786. 5C$=Q.W=
  9787. e5H`2?U(/Q
  9788. W6M-#\<)oG
  9789. yK%Z6
  9790. zO-~O(
  9791. OO|LGg@
  9792. UdyHIg;NpC;
  9793. Mb;"-jFMm@Y
  9794. A#F< '8
  9795. 3;!2.
  9796. ??#8=
  9797. =@$6:
  9798. 7A"JB"UI'G:
  9799. 2R+jL'FG$5<
  9800. L!1T%8U)4
  9801. qRnE,h?
  9802. SVm=';#$uI&
  9803. {MVrHFc;AsCHpC;f?LR.;e@a
  9804. @; '4
  9805. <A HG#GD#K3
  9806. &; 3J&]F
  9807. iK&P>!B
  9808. cJc<,
  9809. RViC!|Q5
  9810. E)$b>(;#
  9811. [:#J+
  9812. K@V08S/2b<#^77J,:H-;W7Fh@@rLf
  9813. VX}WZ
  9814. E#H=#
  9815. `?#@:
  9816. FB&@:
  9817. @}Y.eMf
  9818. iON6<
  9819. bLkI0
  9820. `@P/#S1%zL(Z2#B&
  9821. ){VEU3)?!
  9822. C)'L+-b7P
  9823.  R2.V4D_7cU0@
  9824. ]mxVs
  9825. :A +:
  9826. 1R-=6
  9827. u1qQH
  9828. _IS85L06
  9829. |KaDF
  9830. ZS{YS@#*b:
  9831. Z4    xP
  9832. H+"a:
  9833. i@%^6)M+.@!#A&(G)
  9834. G')L*%hB#zP1c;.G)*\<LiEbf=NoHca=JmA\
  9835. A9 I8
  9836. GA$*<
  9837. =@ U=
  9838. \JsUD|UG
  9839. _O^;3
  9840. O.&uF,Y0
  9841. c9'Z4'J-!?$!F(#P,.K+1=!
  9842. E%+N/(N+*F& \7.N/HM-:P,FK)GH'3P)D
  9843. b\~V&
  9844. j5uD1
  9845. XAwH>oEA
  9846. `)wH<xJ
  9847. I!j<%T/!W1
  9848. S1 c<$B&!0
  9849. >#$C%$?$
  9850. q<:>!(P0.Z2:-
  9851. sH;F&8?!,7
  9852. 'P07lD^b@N
  9853. .@$(; :7
  9854. 8E#R9
  9855. \?}S1oL.`BD
  9856. nDrI+a>6hB#vLG
  9857. Y-|RC
  9858. U!kB7R08rIDpC&wFIoA
  9859. d9%e91R*4`6)2
  9860. A$"6 
  9861. A#,I%
  9862. o>(l;EP-/7 !W2"
  9863. PJK*3c:4]8%^6./
  9864. K@ Z7
  9865. e0~Z<~\GxQD
  9866. m]X7L]?A
  9867. pBkGRnM^|XN
  9868. Q yO$
  9869. b9PyP
  9870. a<-cBF
  9871. t=~T%iBL
  9872. QAl=4|K
  9873. xHA{G`V1D}M@
  9874. ]KqE=]6
  9875. Q(p@aR/%J)$Q1 J+#B%$L+#P++O-)E'*]8.W0&c6U?#"8 (b7(tB0*
  9876. M+1Q+=X0/lIQZ1Y@"EV1`
  9877. 2?"R,
  9878. +> C;
  9879. O@!?8
  9880. ]1nN7jH-uN"b?9oI-fG<[:C
  9881. Y1`>/
  9882. ]>]<K
  9883. {ROoECoB+
  9884. T;wE&m<4pAAX.VH).Y1>sDBtG-vJ
  9885. O#e:7tC5~O
  9886. N/oB%I'
  9887. G'$D&%4
  9888.  P.)C'
  9889. )a6FL(-9
  9890. 2A!1R*@b:7
  9891. NX]2Rb=\uGtO&B\5\
  9892. xT0wQ@
  9893. c<~U)`B$uL
  9894. ]5W5KwQ
  9895. hJwN5jB
  9896. tLBiB.
  9897. \:BtJ
  9898. cAh>6
  9899. VJsI@
  9900. wG1V.U`;3f=
  9901. D%6Z5:Z40T,5
  9902. V=M'<f<$f: A$
  9903. $U2#i>/9
  9904.  X/6<
  9905. -U10l<PW-WT.CF'7[2V:
  9906. :pAy\0r
  9907. a,bENkL>
  9908. cB4wR4
  9909. U<^=?
  9910. ^+tK-
  9911. W,Z4!wL+^?9<!FV2E
  9912. S4S|P?oF+@
  9913. 8vGLeBLoH2{N#^4"c89sG8pH
  9914. P'<`5'i=1yGH
  9915. ]*\5*uF
  9916. qB,N*4@!
  9917. +I'&6
  9918. e5"S*#C&%J-1C%/P(7F''Y2'L)06
  9919. "X2@`3Tj<bY5PI,?Y4Ma1pe0me1zzM
  9920. 9>!C5
  9921. W$I+*oI
  9922. $Q0&fA0rK;
  9923. W,xQ?hB X58
  9924. R.1f>)I(
  9925. `<9vLW
  9926. fEFwL
  9927. wJ3B'ApI0]7)Y2F]6Rc:0N,&X1T
  9928. OKuCDV2!b:<lB(h8IP/+M XR*;Y/J^6<h<YtB?V./;
  9929. GF#:6
  9930. E$(@#!@!
  9931. 5 !A("F(&Y0KC$(7
  9932. @!/`4@G%8X2%U0=5
  9933. #> 6i.hr6
  9934. bC4nH
  9935. a=.T2(F+
  9936. X4)N+=G*4jE+mE
  9937. W1)hA2O03[76L-7W4<5
  9938. #F'2?"3@&H]>Qc=DvWcf=5Q3CoQNZ7+a8#B#%:
  9939. 3nFAE!<hA<
  9940. S=R.1P/+d:#vGP
  9941. uBaU)Pi?([91N+?P&K]35d9:
  9942.  J(*H%.A"">"
  9943. ?$&L(!M)4P,0b878
  9944. %D#1@%/B%/0
  9945. &W-L_7LD!HF
  9946. =[,bT0Sd9}R'h
  9947. :A%M5
  9948. `'M0 pI
  9949. b;+tJ/a<
  9950. Y6%e?)R17R29iEEO.,: HmIB[9/S3>
  9951. GK.82
  9952. @A C\3JF$Pa8-L+8J(IV2)pA
  9953. R1^2Gh?2vI"`;#`7LtG-rD*vF'sD!]3Eb7Ec>
  9954. _3*b7(I)
  9955. "U-*9
  9956. I) G%
  9957. O*0J&75
  9958. &Q,9B(7^7]N)L>
  9959. 2i@__7s1
  9960. .^3dW/pO&gfS~
  9961. Q1$kC
  9962. b:/V2 ^;
  9963. 4/G(4mF
  9964. qJ;O03:
  9965. )X58hB6P/@M/M}T4Y31vH
  9966. rG:pL4G+:Z86Z5HY69U5DhC_qG_^:VyO$vI,tH;N+2S15jF@U6CA'Ma50F PU-Ir>9R+N_4IX6@B#L_08L$Hf<$^736
  9967.  :  >#$C%(N,'4
  9968. +E&5K+47
  9969. (X19C$(Q*:4
  9970. 8a6Ti;mG%L,
  9971. XB%L@"@<
  9972. pJ.xP
  9973. A&&H( 
  9974. ^5/a80rI.
  9975. S/!Q2+nI P.E
  9976. k8T2(B!._9&lC(8
  9977. Fa=)Y4
  9978. ]#sG8N.R3
  9979. :W0+_3gR/A[61`8/X56T4\G$F]6'[7+[55[2CsG?W+vi;UQ,%4
  9980. RH%78 2C!/[,MN(A> -n>(O, 5
  9981. : #?$!P/-7
  9982. C%#D$/E&5>"*7!&4
  9983. #K'7N*>S-D3
  9984. 0A"</
  9985. 2V(hE RG(V;
  9986. F#k< N=
  9987. -? +;
  9988. "J'%lE
  9989. {P!L*%S33lB-L-%]?4P0.< 2jB@e>-g<
  9990. Z73I'1]:
  9991. 4J/WR0:U-5sG-
  9992. [=wRK@$Lf?TpG>N.&D*LpHH{R8L.<M)AR/#J+I5
  9993. D]6+S071
  9994. =L)*<
  9995. E^:AH$M[0Bs?8p>QG$@Y-^N+QD$/R./1
  9996.  >##@$%;
  9997. <#-= .\1M+
  9998.  < 2Q.ML*P;";D#PM$SJ!OG T<
  9999. "D!W?"?A!C7
  10000. q3wT*vQ
  10001. V0:]8-W4
  10002. G("H(&N,-
  10003. `-hC4P,0^5<X52W/4K,)R0!xN)C(43
  10004. ?[1:< A:
  10005. HiC=zQ5\<;x
  10006. P.f=5Y29M.9]<KtEJN+:=
  10007. 2H#H^86O-1kCW^6UL)0@!J[1#?#-<
  10008. FV.H@$D?"FB#:N+=c4^n=;N)6;
  10009.  >"$I%7;!%C!)<"#V,I3
  10010. G&C7 .@$-K)@-
  10011. *E"C*
  10012. (;$B0
  10013. 0<!/5
  10014. 9B ;7
  10015. E")`9
  10016. Z6 R05E'*@#(`7
  10017. V4'b=
  10018. T.C@#3O/Ii?UG&KE$;rG J'>;
  10019. 7^Bde>#N.VC%FS.AL*<=
  10020. NQ-SC%BU.S
  10021. D&VY8IS.<k>6>
  10022. ;X0JQ.H/
  10023. 3[2/h:#T0[`4k9
  10024. H> JL/KG&R<
  10025. 8J(,\)[T*LJ'1B#
  10026. (D!(;
  10027. )G$1C#.0
  10028.  F$(B *.
  10029. 3F"=A
  10030. 4L'EL-KT,Z5
  10031. 7F YQ%\Z,k;
  10032. ;: &<
  10033. *>!E2
  10034. 9B%-F$D9
  10035. Q2 P0
  10036. C :_;
  10037. [7 tK
  10038. Q/)tL-rG
  10039. !K*)=":lJ@F&3d?.jC
  10040. Q.0P-;B&2a:6qG/:
  10041. WW4YQ.OG'9^79V1=S1-D$DM-CR0OL'EU0K]0=O*
  10042. `J$f3
  10043. @S,:H%T6
  10044. AH#@:
  10045. >M,BT-Nc5>B
  10046. ?I$<O)KY*KZ1HV*K6
  10047. E$,?#.D%.0
  10048. A%*>!+5
  10049.  L+6@ -A /3
  10050. $P(G:
  10051. E":V+[4
  10052. (G#MJ&O@
  10053. CW+c^+mE
  10054. OC#V9
  10055. gC)|U
  10056. _;*^9#Z50? 
  10057. b="Q-
  10058. !P+'Q0ScB
  10059. 7oH4h<oH#;X4)Z52Y1ImF-
  10060. ](_>@4
  10061. EU2/S2KQ1:Q-6F$J=
  10062. JC"AA%3Y/:D#Q:
  10063. RF cQ+DD
  10064. RB&GR
  10065. /WD&@U1\R'a_4DC
  10066. pY+ZO))X-7M*[;
  10067. OI"CM$-D!*<
  10068. *>!*-
  10069. !N*8;
  10070. "B!7/
  10071. 0A$;5
  10072. ,L"OL'VJ&FB
  10073. ^?"W:
  10074. RA!P<
  10075. S+)hD
  10076. ,?$&hA.M*#8
  10077. &W4,a8&H&(P,7S4RI*MJ,?K,8P*Q_4XvK;sI/xXzb>UE'QD+JR3>P/;A#1B BW09Z.H]3X?"C;
  10078. 9K'?`3Lg9US2K-
  10079. 1?!J3
  10080. W+bB EJ%XK$PI%[?
  10081. &="(0
  10082. -M'E7
  10083. +K%F;
  10084. 5\*gV(WY0^H'S_4|a1t9
  10085. GD"g=
  10086. N<!/3
  10087. B!%Q0&S0
  10088. ^9#Z73= *mEE@ 0J%)I',U14Z6*:
  10089. =O*9H DO,>U2AK-0]6PW,KM,?M'DH$:Q*EP,V8
  10090. AK+;>
  10091. EQ"hU/PS3BT.@P&NG$JL)NW,XZ0O/
  10092. H= N0
  10093. 6P$`Y1\J$QC
  10094. MM#YC!
  10095. K; G4
  10096. "9 "5
  10097.  8!%W39B&43
  10098. :J"U@
  10099. 7L RG&M3
  10100. (D&CC#V
  10101. b="tQ
  10102. W3 M+
  10103. ^<'P1
  10104. G$-b;9a9.Z5"O-(<
  10105. Q-"J(18
  10106. ;g=EvHUK%FC
  10107. VN*RL&D]7)W2GW-boA
  10108. ;H'MN-PP+C@!FJ'>M+\Y-EW*lY1wb9>G%8@$eH&QG&MU+U<
  10109. OA$\*
  10110. RE X`$
  10111. HH%H>
  10112. ;R(v6
  10113. 9 *=!05
  10114. +A ;5
  10115. -\)l@
  10116. ?I#I`,mM!i3
  10117. /A!W>!A?#7>!E;
  10118. U4"Y9
  10119. ^8    W1!K'.qJ
  10120. mB-S.,A!%O)
  10121. (T0:J(-@
  10122. 2i?9D%GS3ME'>S+`^9KP.3`9KqBV`5IN+HB'I;
  10123. DE#CO,bG
  10124. _I#Gb1aS*?P'\I*eO0]e2`K)aY6D=
  10125. FL$mJ%jF"YE
  10126. MQ(sN&LU*j-
  10127. DB W;
  10128. <K$\F$D-
  10129. "> 6B"9?!2B!5G"74
  10130. +F!VT'd9
  10131. X(rI    P&
  10132. Z4$= 
  10133. 5O*MR1
  10134. I&&K'*S,(S+1E%&;
  10135. 0F#(sF,c:9X3BI'A[4<B$0J%PC
  10136. EY/WlCE\6@8
  10137. <Q/FN-PF%RB
  10138. SN,cQ'EN$g^1_6
  10139. LR){B Y@!XT(fS(sW1h?
  10140. QZ'pK%OD%Q>
  10141. B[2U:
  10142. sG#a?
  10143. QU(LG#J0
  10144. !; &5
  10145. %9 %A$->%+,
  10146. &;")C.3D'13
  10147. =E!G1
  10148. &>"@W'
  10149. VI*U5
  10150. 5A"^:
  10151. K+(kE W0 _9
  10152. L(*hA?j?-L'
  10153. J'5;!)6
  10154. <I'BB#5>
  10155. L]:RD%KK$SC
  10156. WQ.>Q0^Z3mN-@]9dP,TN*@D%G]7X=!T>
  10157. FJ*GJ'>J"\C gC#=R,dK*Z=
  10158. JH$Q=
  10159. iS+oY'gP'O5
  10160. QB!cQ#k9
  10161. DE"RI(Q;
  10162. RL)N?
  10163. IN'b0
  10164. )B$23
  10165. %H'8J'87
  10166. ,fC GF#K2
  10167. 6V%t7
  10168. oJ!hD*pI
  10169. vL%T0
  10170. B$$V2
  10171. T4&S4$T,$R-
  10172. H&'?!!7
  10173. %S,1? @B
  10174. OD%CW1AD";H'GM+RW0T?
  10175. -N*NW.fJ&OJ.f@!=?
  10176. XT._a7x\3c5
  10177. I; YN2]V+oK&^G!dH(eE"UI&cL#W_-aA!CJ&]K%b<
  10178. HB!TB
  10179. JC#^K'\R*s7
  10180. PH%W2
  10181. .@#24
  10182. FB TD
  10183. 8D%SA#C
  10184. wP*tM!b;
  10185. F#"A %:
  10186. /gF b<
  10187. W/"T/+B"4W09a9JS/
  10188. K)5J(=L$cJ-Z\;NE$A?
  10189. 9H&QxF
  10190. ,I(EP.SJ$Z-
  10191. 4`7J@!?4
  10192. ?H'XR,LF!HE!<J%M<
  10193. >P(hM$~M,c?"]I#YP.tL&WO$aM&Oh8\R&]3
  10194. WI%X9
  10195. G>!QZ,T8
  10196. )>!-B$27
  10197. (? :J&?+
  10198. 1H#=A
  10199. H; 79
  10200. 2> ==
  10201. 0E"\K&a:
  10202. e sL#j@
  10203. mE vK
  10204.  I($T-
  10205. R+ a;0O.9hD
  10206. ^33F&:C$+f?:Y3EK*$I&6J#I6
  10207. )? @G&OF&=@
  10208. D%GC&IR-SC"HP2kR2d?
  10209. CB TP8l?&N>
  10210. LF"{B&]D
  10211. aT+_;
  10212. AC!_9
  10213. FF$KK%bI&lB!NQ.W= N<
  10214. Q=!N;!T?
  10215. KP,M>!#A#&9!&+
  10216. 4>!6A"8G!KK%L"
  10217. -J!O[+g5
  10218. @D!MD#GB ;<
  10219. `6)F!
  10220. J'&N("D 
  10221. gD$V2 ?
  10222.  ? *\7D5
  10223. -M&4?
  10224. .G!2J'0D"BC#7>
  10225. 7Y3PF$D5
  10226. GK(i5
  10227. AD!MO+S:
  10228. TT/_Z0SM+j2
  10229. JL)SR0Y<
  10230. FF JA
  10231. U="I< KT.ac7}8
  10232. o= LD
  10233. PD XG M>!EJ-[B#O+
  10234. :"*8#*4 #?!0;
  10235. 8 &A"0G$2V+N+
  10236. -@%5F"B/
  10237. "9$-V*\a*vK
  10238. ^2|@ R>
  10239. ZG%I7
  10240. b8    ^5
  10241. W2"P*"M*%H&&G&
  10242. F$'S/
  10243. K*=E(2=
  10244. J(-L(:J(-P*C7
  10245. A< <<
  10246. ,A#>D#QE#JA#CI+^N)gE#QL'YT.VB ^0
  10247. 6<$UD%S:
  10248. HL*XD$T5
  10249. GI'RR-kF#_S/oH#f=
  10250. RJ(c<
  10251. L@ W?
  10252. PF$cP,dZ1
  10253. UM&ZL)J\6dJ&T9
  10254. <!.7 '#
  10255.  D%15
  10256. -E$>F#=: (4
  10257. &>!5;
  10258. ;? :S&KH&G@
  10259. 3S#\N*h
  10260. a'|W#
  10261. Y7!qE
  10262. _=!G("G'&b:/E% V0(I+*<
  10263. %H).K')U2/K*5M*+>"%@ ?5
  10264. 5B"BF(M3
  10265. :B#:>
  10266. BG!XP(jA
  10267. SA&YF4bX9\/
  10268. I@$eP*W8
  10269. KC(VF#_6
  10270. T=#OB%h5
  10271. XG$VF$ZA$QC%b;
  10272. LV.fE(^?"S@$[C&\= n; Y?
  10273. P> Y:
  10274. !<"*F!36
  10275. $4 !<
  10276. *E';8
  10277. 6E&;B :>
  10278. @L$TK%Y:
  10279. R&uG#d9
  10280. ` vS"pJ
  10281. -U.+I'12
  10282. 4R,?:
  10283. #J'>@
  10284. FA @?
  10285. R@$T: B; EC#D8
  10286. V< [=
  10287. J@!Q>
  10288. AB"I8
  10289. |G*i=
  10290. V= Z8
  10291. WM*c7
  10292. TA$Q;
  10293. [D#\3
  10294. MM&eU/mH-f5
  10295. G="`;
  10296. GO$jI&[M#n=
  10297. %<"*>"1<
  10298. "M$C<
  10299. $N&LL$V9
  10300. ,N'J3
  10301. .M)ZH
  10302. dA,F%
  10303.  D# \0
  10304. P('M)"T/&G&'C!
  10305. @!9B%A?
  10306. 3F&ED)V=
  10307. ND!IK$P=
  10308. MI-g:
  10309. :A"<?!P< J9
  10310. IB!V:
  10311. W;%\4
  10312. TK%Y?
  10313. UF*fO,iK*a2
  10314. K> CH)tK&^K+`=
  10315. TJ*bK+]A!SO&WJ$o="X= MU.cP(^4
  10316. HB ^C
  10317.  <".7
  10318. "@#0B#5H&30
  10319. /A A8
  10320. 7K#GD
  10321. 9P&]Z+cJ K
  10322. H%$I##J(
  10323. E!,G#$d;
  10324. ^7;K%
  10325. L)2G#
  10326. 6F&=:
  10327. 5< >?!E<
  10328. HC#D=
  10329. HK#L6
  10330. ?D"V<
  10331. WK)aJ'G>
  10332. >@"TA L@ Z6
  10333. IM&m5
  10334. JQ-dG)Y<
  10335. ZJ%X@"P6
  10336. BJ'h>!^:
  10337. QB%XA%O?!PD$R@%R4
  10338. &7!*M)71
  10339. *G&2H#?7
  10340. 0>!3?!8P*OE"C9
  10341. 0F JN
  10342. YP%[Z-`
  10343. L"wD$DC$P
  10344. ^8&N+"[4
  10345. P/+M*#:
  10346. >!(Z0*X0
  10347. wJ3qF/K'.U-
  10348. (Y1:_63:
  10349. 3@ DI(EB$FN(_B!SD%Y8
  10350. BF%J> FQ'VU.cH'_8
  10351. DM&RG$M:
  10352. I[5g;#c4
  10353. FD"P@!Q;
  10354. TJ&bH&U?"]9!VF&_;
  10355. ZM+mO+w<
  10356. [V.f? Q@ EA!P? ZZ.fB#HI%];
  10357. TQ+U>"-3
  10358. <!(A +< 03
  10359. 'P'QJ$QM'EO&OC
  10360. AJ#I@
  10361. DQ$V3
  10362. >!(T00b;    ? 
  10363. b7&R)&b8$M%
  10364. H",N'&D$+?
  10365. 0a7#F"=F%DW0TE$B:
  10366. >E'V<
  10367. 4G%IS.NQ+KV-_E VC LM'UA HR)m<
  10368. LK&VS)jG#kF+]F,k;
  10369. VL+oN&n8
  10370. M>"YH$sB
  10371. V[8rH$X9
  10372. [?"J?
  10373. TO.zC$U8
  10374. NJ%XJ'hP*pS)j3
  10375. !? *E#/:
  10376. %? *6
  10377. (M&FK#J?
  10378. 6H!AI!DZ+a]*dS'`?"7b.oV
  10379. nB(nK
  10380. [6#L'
  10381. I+(G%,8
  10382.  T/&V-0E %^0
  10383. \2*N*=N*3G#>B!7:
  10384. :D!>L)RI(LP,W@#00
  10385. 1K&eG#MH&T9
  10386. IF J=
  10387. BR2a5
  10388. GM*lR*R7
  10389. NK*gI(]V4vS.\F
  10390. gC#^= VB!Uf<
  10391. UC#V;!fB e; XH&TH(P7
  10392. PN+a9
  10393. CK$`E!]G"KB!;3
  10394. !;"&: (3
  10395. $8!+8
  10396. %A"0< (J$;4
  10397. 5]/aR&YJ#I?!=;
  10398. @M&UK
  10399. P(\L(Q
  10400. [9 U0
  10401. E#%F"1O'
  10402. J# X/4Q+/A
  10403. %K%%P*:A!G@!AC"AA
  10404. IJ&?M*aK&PB
  10405. DA AN&c7
  10406. AE#DN)SB$SC
  10407. Dl>oA
  10408. OF#_? L;
  10409. FS0RA"O-
  10410. J>!]2
  10411. V= dR.]T3{>![F&]G
  10412. cO'\/
  10413. FO)gH%KP$NG$FB%DA".9
  10414. (>#.5
  10415. (@#3Z)^Q(MX*YC <@
  10416. BT)Zk1
  10417. e;#zO
  10418. M*#\6&O))^5
  10419. Q+KT-=J%-Z-!@
  10420. -E#QL)B^5JM*QS-ME#QL'SE!=B!L^3`P'H<
  10421. HK$P_9p;
  10422. KF!FP)[@
  10423. XR'[M'hI%]A
  10424. UV,jH#fC#?P)kF$Z@ cR,q;
  10425. RC!\P*gI*_N'`H%WA$SL$m?
  10426. IG"c\/j@
  10427. _F%i[1L?
  10428. OL#g<
  10429. %;!#7
  10430. (: (:
  10431. .E 7A 1D <N*Gn7
  10432. [*`N$P?
  10433. K%xJ#g
  10434. ^9!W-9T0']4-7
  10435. #R/,R+/g<+Y1
  10436. N&'S-&E $C
  10437. 'T+4e;aD
  10438. 6I(ET,ZH&RA
  10439. Qd9_e9`S&TV'^?
  10440. MF"GM#^P(bN%iE RE#VF!IF!PF!FI#ZC"PJ&`D
  10441. ZM(Z5
  10442. NF!A6
  10443. M= Y=
  10444. FK&^E%TN*UH*cT-dH#EN'`E
  10445. FO#e:
  10446. ">!*7
  10447. &G!93
  10448. )=!,1
  10449. B#,B"4@ 0?"3@&-)
  10450. ,K'BL'Q-
  10451. 2W(bh6~B
  10452. "System
  10453. ough it would cause all sorts of problems. For example, I've recently been looking at some printers from various manufacturers and found to my astonishment that all the current printer drivers I tried on the Hewlett-Packard website are unsigned. What in heaven's name does HP think it's up to? Releasing production drivers in an unsigned state might be excusable for a small software company that hasn't the time, resources or money to go through a full driver test certification suite and sign
  10454. ing process, but I don't expect this from a company the size of HP. 
  10455. **Is it therefore surprising to note that these HP drivers were almost uniformly difficult to install? I failed to get the HP 2500 Color Laserjet driver to install at all on Server 2003. Not only are the drivers unsigned, but the setup routines are hugely complicated symphonies that boggle the mind. Trying to get a DOT4 layered USB driver installed on standard Windows XP SP 1 took most of the morning too. 
  10456. **DXDiag
  10457. re's a very useful little tool that you'll probably find on your computer. I haven't checked backward versions but I know it's on Server 2003 and probably on XP too. It's called DxDiag and it allows you to see at a glance how DirectX facilities are set up on your computer. Using this tool, you can see versions of files, capabilities and so forth, and enable and disable certain functions like Direct3D acceleration and AGP Texture Acceleration too. If you're trying to debug a problem with Di
  10458. rectX, this tool might well come in handy. 
  10459. **It's especially useful if you try to follow the advice found at <A HREF="http://support.Microsoft.com" target="_BLANK">http://support.Microsoft.com</A> under the document number of Knowledge Base Article 311410, entitled 'How to install Plus! for Windows XP in Windows Server 2003'. I'll confess that I had to read that line several times before I could even appreciate what it was saying. Apparently, there exist in this world some people who wan
  10460. t to be able to install the Plus! Pack for XP onto a Server 2003 installation. 
  10461. **This isn't just any old server, no sir-ee. The document states that the following advice is applicable to all versions of Server 2003, including Datacenter Edition. At this point, I was reduced to rocking back and forth in my chair, holding my head in my hands in a desperate attempt to cope with the idea of what bitter, twisted, utterly warped sensibility would want to install Plus! onto any Server 2003, let
  10462.  alone the Datacenter Edition. I'd hoped that the Microsoft documentation would clearly state you were not to install Plus! onto any Server 2003 machines, under pain of death, but no, the instructions are given step-by-step. I have to quote them here:
  10463. **'To install Plus! for Windows XP, type the following command at a Command Prompt, where path is the path to the root of the Plus! for Windows XP installation source: msiexec.exe /qn+ /i \\path\Microsoft Plus! for Windows XP.msi
  10464. *'For examp
  10465. le, if you're installing Plus! for Windows XP from CD-ROM drive D, type: msiexec.exe /qn+ /i "D:\Microsoft Plus! for Windows XP.msi" 
  10466. **'You receive a message that states whether or not the installation was successful shortly after you issue the command. After you install Plus! for Windows XP successfully, you can use the Add or Remove Programs tool in Control Panel to add or remove specific Plus! for Windows XP components.
  10467. **'Note: DirectX and Direct3D are required for many of the Plus!
  10468.  for Windows XP components to work properly. DirectX and Direct3D aren't activated by default in the Windows Server 2003 family. To activate DirectX and Direct3D: 
  10469. **1. Click Start, then Run.
  10470. *2. Type dxdiag, and then press Enter.
  10471. *3. Click the Display tab.
  10472. *4. Make sure that all of the DirectX features are set to Enabled'.<p>
  10473. *To be fair, there's a little paragraph stating, 'Microsoft did not design Plus! for Windows XP to run on the Windows Server 2003 family', which is just about as un
  10474. derstated as a warning can get. Henceforth, let it be clearly understood that your Server 2003 installations aren't fully and properly configured unless they have Plus! - complete with Amanda the cheerleader and Seth the B-Boy - installed on them. You know it makes sense.
  10475. HZJon Honeyball questions the demand for Windows Server 2003 and then juggles 32 and 64 bitsL
  10476. August 2003X
  10477. 106 (August 2003)i
  10478. Advanced Windows
  10479. Simon JonesD
  10480. Bundles of confusion
  10481. Microsoft has revealed the various editions of Office 2003 and the applications included in each edition, and at the same time has announced an extension to the beta programme. It can be hard work trying to make sense of all this, but that supposes there's any sense to be found.
  10482. **The six editions of Office 2003 are called Basic, Student and Teacher, Standard, Small Business, Professional and the confusingly named Professional Enterprise. These contain various mixtures of the Office appli
  10483. focusedA
  10484. focuses_
  10485. focusingC
  10486. foerster
  10487. foerster's
  10488. foggy
  10489. foibles
  10490. foist
  10491. foisted
  10492. foisting
  10493. foldd
  10494. folded-up
  10495. folderB
  10496. sofaA
  10497. softI
  10498. soft-power
  10499. soft-sided
  10500. soft-swaps
  10501. softarch
  10502. softartisans
  10503. soften
  10504. softened
  10505. softening
  10506. softens
  10507. softer
  10508. softest
  10509. softie
  10510. softmodem
  10511. softness
  10512. softnet
  10513. softpc
  10514. softsound
  10515. londonA
  10516. london's
  10517. london-based
  10518. whichA
  10519. creatureA
  10520. creatures
  10521. crect
  10522. credentialsK
  10523. credibilityE
  10524. credibleL
  10525. creditN
  10526. credit-card
  10527. formM
  10528. cross-siteK
  10529. crossedW
  10530. crotcheta
  10531. crowd[
  10532. crowing
  10533. crownm
  10534. ide to run is straightforward: for instance, to animate an image as the user moves their mouse around the screen, you have to use client-side scripting. Similarly, to log the users
  10535.  responses to a form on your site into a database, you
  10536. d almost certainly want to use server-side scripting. Other cases, however, aren
  10537. t so clear cut. 
  10538. Take a 
  10539. widget production
  10540.  calculator. This has two input fields, the number of widgets required and how quickly they
  10541. re needed, and it outputs the resulting pr
  10542. ice per widget. This is a calculation that could run on either the server or the client, and each side has various theoretical pros and cons. Client-side scripting requires the program that calculates the widget cost to be downloaded into the browser, and if this calculation is very complex this could take some time. A server-side calculator, however, only needs to download a standard HTML form for the inputs. On the other hand, once the two input values have been typed in, a client-based 
  10543. operatingA
  10544. london@
  10545. london's
  10546. london-based
  10547. lone@
  10548. long-awaited
  10549. long-standing
  10550. readers
  10551. passing@
  10552. long-time-coming@
  10553. longer
  10554. longer-lived@
  10555. longhorn
  10556. look@
  10557. closely
  10558. magazines
  10559. newsstand
  10560. you'll
  10561. look-ups@
  10562. looker@
  10563. looking@
  10564. looking
  10565. after
  10566. backoffice
  10567. server
  10568. quite
  10569. similar
  10570. looking-around
  10571. looks@
  10572. made-up@
  10573. magnitude@
  10574. mail@
  10575. mailed@
  10576. main2@
  10577. mains-powered@
  10578. maintain@
  10579. maintains@
  10580. makedoc@
  10581. makeover@
  10582. making@
  10583. male@
  10584. management@
  10585. manager@
  10586. manchester@
  10587. manual
  10588. manually@
  10589. manuals@
  10590. margins@
  10591. mark's@
  10592. marketing-speak@
  10593. markup@
  10594. marries@
  10595. mastered@
  10596. matches@
  10597. materialises@
  10598. mattered@
  10599. maxtor@
  10600. throughA
  10601. balancedA
  10602. balancer
  10603. balancers
  10604. balancesW
  10605. balancingZ
  10606. balch
  10607. baldwin
  10608. baldwin's
  10609. baleful
  10610. balefully
  10611. balkedw
  10612. ballc
  10613. ballantines
  10614. balletJ
  10615. ballgame
  10616. balling
  10617. ballmerO
  10618. ballmer's
  10619. balloon
  10620. ballooned
  10621. balloonstate
  10622. ballpark
  10623. ballpoint
  10624. balls
  10625. ballspeed
  10626. balmer
  10627. baltimore's
  10628. band's
  10629. band-in-a-box
  10630. band-x
  10631. recommendA
  10632. recommendedW
  10633. currentlyA
  10634. internetA
  10635. didn'tA
  10636. ncentrate on how to integrate the Web into marketing and comms strategy, and how to make it work for you.
  10637. A long time ago (like two years) Web pages were flat and static. Much like the pages of this magazine, they were made up from a mixture of text and graphics, and the only user interaction was clicking on the underlined text of a hyperlink to move from one page to another. Nowadays Web users expect much more, and so in this first column we look at two of the technologies you can use to 
  10638. liven up your site: scripting and Dynamic HTML.
  10639. Many people are rather afraid of scripting, which is hardly surprising as it
  10640. s such a vast area with a lot to understand. Before you write a script, you have to make two very important choices: which scripting language to use, and whether to run it on the server or client side.
  10641. First scripts. These can be run on the client side, executed within the Web browser or the server side, executed by the Web server. In some cases the choice of which s
  10642. facilitiesA
  10643. blockingA
  10644. blocklen
  10645. blockquote>y
  10646. blocksC
  10647. blockyW
  10648. blogo
  10649. blogger
  10650. bloggers
  10651. blogging
  10652. bloggs
  10653. bloggs&town
  10654. blogid{
  10655. blogs
  10656. blogtxt{
  10657. bloke
  10658. blokesY
  10659. blood
  10660. blood-letting
  10661. bloodhound
  10662. bloodyp
  10663. bloomberg
  10664. bloomberg's
  10665. bloor
  10666. bluetooth-supporting
  10667. blunder
  10668. blurn
  10669. blurbp
  10670. blurringn
  10671. blursn
  10672. blustering
  10673. truecode
  10674. truecolour
  10675. truedoc
  10676. truedoc's
  10677. truedoc-style
  10678. trueimage
  10679. truesync
  10680. truetype
  10681. truetype's
  10682. trueupdateE
  10683. truevector
  10684. truevision
  10685. trulyA
  10686. David Moss and Jon HoneyballD
  10687. Long-trousered OS
  10688. Windows Server 2003 represents a marked change for Microsoft, because it has decided to ship a long-trousered version of its server operating system - the long trousers will be needed by the system adopters or, more specifically, the system administrators. Installation is still a doddle, but anyone who hasn't been paying attention will get an awfully big shock when their newly updated system finally reboots.
  10689. **The key word here is 'lockdown'. Whereas Windows 2000 Server was wide open and 
  10690. cations, but, worryingly, there are new Standard and Professional versions of Word, Excel, PowerPoint, Outlook and Access. Apparently, you can only buy the Standard versions as part of an Office 2003 Suite - if you buy any one of these applications on its own you'll get the Professional version. (Note that there are only Standard versions of Publisher, InfoPath and OneNote). It must make sense to someone in marketing...
  10691. **Table 1 shows the various components of the different bundles, whil
  10692. e Table 2 shows the form of licence required for each bundle. Note that you can't buy the Professional Enterprise Edition over the counter, as it will only be available through a volume-licence agreement. Similarly, you can't buy the Basic Edition except when it's bundled with a new PC.
  10693. **So what's special about the Professional versions of the major Office applications? The features reserved for these versions are Information Rights Management (IRM), customer-defined XML Schemas and the 
  10694. SharePoint Datasheet List control. To be honest, the loss of IRM from the Small Business Edition isn't a big deal for most people - only large corporations that are paranoid about information leakage will ever implement IRM. The SharePoint Datasheet List control is nice to have, but how many small businesses are going to be installing SharePoint Services or SharePoint Portal Server, given that they require Windows Server 2003? Even if they do install it, SharePoint is perfectly usable with
  10695. out that particular control. 
  10696. **The only worrying omission is the removal of customer-defined XML Schemas - this feature is one of the major upgrades for Word and Excel, and confining it to just the top two editions will severely limit its usefulness. What's the point in inventing a universal data interchange format (XML) if not everyone has the applications that can understand it? (Answer: to force people to spend more money.) To be useful, XML ability needs to become ubiquitous, so this
  10697.  is a very short-sighted step. 
  10698. **Small companies used to be able to save money off their Office licence bill by buying Office Developer or Office Professional for their IT people and Office Standard for everyone else. The only difference between Office Standard and Office Professional was that Professional came with Access and ordinary users didn't need to be able to create Access databases. If they needed to use an Access database, the IT department could give them the Access run-time m
  10699. odule, which was freely distributable if you bought Office Developer. 
  10700. **Now with Office 2003, you'll notice that Standard will include only the Standard versions of Word and Excel, so you won't be able to use customer-defined XML Schemas. On-the-ball IT departments hoping to exploit this powerful new ability will have to fork out to upgrade all their users from Office XP Standard to Office Professional 2003. 
  10701. **If you bought Software Assurance with Office XP - you could only get it on t
  10702. he Professional Edition - you'll be pleased to hear that Microsoft intends to automatically upgrade you to the new Professional Enterprise Edition, the only Office suite that carries InfoPath. You'll be able to roll out Office 2003 whenever you want. If you didn't take Software Assurance for Office last summer and want to use InfoPath, you'll have to either buy the Professional Enterprise Edition through a volume-licence scheme or buy InfoPath separately.
  10703. *Microsoft has repeatedly said tha
  10704. t volume-licence customers will no longer be able to purchase cheap upgrades of Office. You either take Software Assurance, effectively paying in advance for the upgrade, or you pay the full price for the next version.
  10705. **One much-applauded new application is missing from the tables: OneNote, the new voice note-taking application, won't be sold in any Office package. It will only be available as a standalone application through retail or volume-licensing channels, or else it may come bundl
  10706. ed with a new PC. You're definitely not getting this one for free and, if you want it, you're going to have to pay for it.
  10707. **Microsoft's press release about the various editions of Office 2003 says: 'Most enterprise customers would get great value out of Microsoft Office Professional 2003 Enterprise Edition, because it comes with all the Office applications, including ... Business Contact Manager.' 
  10708. **Can we just stop at this point and remind ourselves that the Business Contact Manager a
  10709. pplication - which comes with the Small Business, Professional and Professional Enterprise editions - is of absolutely no use to even the smallest businesses, let alone enterprise-level corporate customers. It's strictly a single-user application and can't be extended in any way: you can't even customise its forms. 
  10710. **If you're a single-person business and you have no intention of ever getting any bigger, you might want to look at Microsoft's Business Contact Manager, but there are far be
  10711. tter products out there that will grow with your needs rather than boxing you in. I feel sorry for the programmers at Microsoft who were forced to work on Business Contact Manager. I hope they manage to live it down and their careers don't suffer too much. 
  10712. **Office 2003 Beta 2 Refresh
  10713. *Beta testing of Office 2003 is going so well, according to Microsoft, that it's going to issue another beta version. 'Beta 2 Refresh' will be available 'soon'. No-one is officially saying that this will de
  10714. lay the release-to-manufacture date, but this was due to be at the end of May and here we are at the beginning of May talking about a further beta version before we even get a Release Candidate, so I think it's a safe bet that Office 2003 won't be shipping quite as early as Microsoft first thought. 
  10715. **Simon Marks, Office product manager with Microsoft, told me that, 'With the huge amount of feedback (over 600,000 copies of the Beta distributed) gathered through Beta 2, we were able to tho
  10716. roughly test the product in a way that hasn't been possible before - so the primary changes will be significant advances in reliability and performance. There won't be any big changes in functionality, except to add a couple of minor things that hadn't been completed in time for Beta 1.' 
  10717. **I'm sorry that Office 2003 won't be out on time, but I'm very glad that Microsoft isn't trying to rush it to market before it has been thoroughly tested. 
  10718. **SQL Server Images
  10719. *I had an email from a re
  10720. ader asking about storing pictures in SQL Server. Paul Coke said: 'For this project, I'm also going to have to store images in an SQL table. What's the best way to do this?'
  10721. **There are two approaches to storing images, including vector graphics, photographs, screenshots and similar material. They should be stored either in the Windows file system with only a UNC file name entered into the SQL table, or else directly into an SQL table in an IMAGE type column. 
  10722. **The first route has the d
  10723. isadvantage that you'll have to take separate backup and security measures for these images, as their data isn't actually contained in the database and so not subject to SQL Server's access security or backup measures. SQL Server's 'Integrated Security' means you can design File System and SQL Server security permissions that are both assigned using the same Active Directory user groups, but this integrated security can't cope with all eventualities. 
  10724. **Your security requirements may be s
  10725. mall, but splitting the security between SQL Server and the file system can still be problematic. Even if all your users should have read, write and delete access to all the records, you may still want to prevent them editing or deleting an image without updating or deleting the corresponding database record. 
  10726. **If you take this file route, you'll probably want to program the user interface to collect the image from somewhere else and copy or move it into a particular folder. Keeping all 
  10727. the images in one place makes backup and security easier, and means you can store the full folder path just once and then only have to store the names of the files, not a full path for each.
  10728. **Going down the second route means you'll have to create routines for storing and retrieving these BLOBs (Binary Large Objects) to and from the database. How you write these routines depends on the front-end language and data access library you're using. Microsoft's data access libraries such as DAO,
  10729.  RDO and ADO provide GetChunk and AppendChunk methods to read and write BLOB data, however long it is. For pictures, the usual method is to read all the BLOB data into an array of bytes by repeatedly calling the GetChunk method until it doesn't return any more data. You write this data to a temporary file and finally use the LoadPicture method of an Image or PictureBox control to display the image. 
  10730. **You should, of course, delete this possibly large temporary file when you're finished wi
  10731. th it to preserve resources. Uploading pictures to the database means opening the source file, reading chunks of bytes from it (up to 16KB at a time) and then using the AppendChunk method to write that chunk to the IMAGE column. 
  10732. **Take care when debugging routines like this, as the chunk pointer, which shows where the next chunk of data will come from, advances forwards only through the file, and it does so every time the GetChunk method is called, however it's called. This can include '
  10733. watching' the GetChunk result or even hovering over the GetChunk call with the mouse pointer, so a small slip with the mouse while debugging can mean your image is retrieved mangled or not retrieved at all, and it can take hours to work out what's going on. 
  10734. **Visual Studio .NET uses a different data access library (ADO .NET) and a new PictureBox control. You can use the PictureBox.Image.Save() method to save a picture to a MemoryStream object, convert it into an array of bytes and save i
  10735. t directly in a DataSet, or send it as a parameter to an INSERT or UPDATE query. 
  10736. **Getting the picture out of the database is the reverse operation. From the DataSet or DataReader, you get an array of bytes from which you create a MemoryStream object. You then assign this to the PictureBox.Image property using the Image.FromStream() method. No temporary files are involved. 
  10737. **If you're feeling clever, you can encapsulate all this into a Binding object and use that to directly bind a Pic
  10738. tureBox to the IMAGE column in a DataSet. This Binding object's Format event passes you the value from the database and you get to mangle it into the format you want for display. See Code Listing One for one way to do this: the Parse event is called for the reverse process where you get to say how the value is to be stored.
  10739. **However, you should be careful about the use of images with ADO .NET. If you include the IMAGE column in your main dataset, you'll get the images for all the rows re
  10740. turned, which could give you a large overhead for storage on the client and transport over the network. It's usually a good idea to limit the main dataset to characters, numbers, dates and so on, only retrieving the images for specific records when you actually need them. Of course, there are exceptions, such as when your application has to work fully while disconnected from the database, but you should generally be wary about retrieving images and only do it when absolutely necessary.
  10741. HeSimon Jones gets involved in some Office politics as he tries to make sense of the different editionsL
  10742. August 2003X
  10743. 106 (August 2003)i
  10744. Applications
  10745. thereforeA
  10746. counterB
  10747. counter-action
  10748. counter-arguing
  10749. counter-arguments
  10750. counter-intuitived
  10751. counter-intuitively
  10752. counter-intuitivenes
  10753. counter-offer
  10754. counter-productive
  10755. counter-sued
  10756. counter-suit
  10757. counteract
  10758. counteracts
  10759. counterbalance
  10760. counterclaims
  10761. countered
  10762. countermands
  10763. counterpart
  10764. counterparts
  10765. counterproductive
  10766. counters
  10767. countervailing
  10768. counties
  10769. counting
  10770. creating
  10771. multimedia
  10772. projects
  10773. about
  10774. sharing
  10775. there's
  10776. creationT
  10777. creativeH
  10778. creativesF
  10779. creativity[
  10780. creatorE
  10781. deliveries
  10782. deliveringH
  10783. deliversM
  10784. deliverto
  10785. deliveryH
  10786. distributionA
  10787. distribution's
  10788. distribution-list
  10789. distributions
  10790. distributorX
  10791. disturbingm
  10792. disturbs
  10793. ditchE
  10794. ditchedy
  10795. ditching
  10796. includeB
  10797. niceA
  10798. nielsen's
  10799. nifty
  10800. nigel
  10801. standardA
  10802. volume-licensingB
  10803. volume-production
  10804. volumename
  10805. volumesS
  10806. voluntarily
  10807. voluntary
  10808. volunteer
  10809. volunteering
  10810. volunteers
  10811. vomitorium
  10812. vonwentzel
  10813. voodoo
  10814. voodoo2
  10815. voodoo3
  10816. vopli
  10817. vpop3
  10818. vrml97
  10819. vsapi
  10820. vsdata
  10821. vsdata95
  10822. vsdatant
  10823. vsdisco
  10824. vsflex
  10825. vsmonapi
  10826. vsnet
  10827. vsnetutils
  10828. vspubapi
  10829. copiesB
  10830. copilot
  10831. copine
  10832. coping
  10833. copious
  10834. copiously
  10835. copperY
  10836. rather
  10837. ratified
  10838. ratify
  10839. ratingZ
  10840. ratings
  10841. ratioF
  10842. rationalJ
  10843. rationaleD
  10844. rationalisation
  10845. rationalised
  10846. rationalising
  10847. rationally
  10848. rationing
  10849. ratios
  10850. clickA
  10851. encouragingA
  10852. encroaching
  10853. encrusted
  10854. encryptV
  10855. encryptedU
  10856. encrypting
  10857. encryptionC
  10858. encryption/compressi
  10859. encryptors
  10860. windowsA
  10861. -social
  10862. while
  10863. winfix
  10864. winframe
  10865. winner
  10866. winners}
  10867. wireless
  10868. withP
  10869. bewildering
  10870. array
  10871. authoring
  10872. tools
  10873. available
  10874. Paul LynchD
  10875. 17 inches of power
  10876. Size does matter - there's no doubt about that - but in this column I'm most often concerned about whether something is small enough rather than large enough. The various Palm models are a good example: small enough to fit in a jacket or shirt pocket, but not so small that I can't use them. The same applies to the foldable keyboard: it's full-sized, so my fingers fit on the keys - any smaller and it would be disadvantageous. Only the most recent iPAQ and Hewlett-Packard Pocket PC models ha
  10877. relatively easy to install and administer with limited knowledge, Windows Server 2003 is locked down from the start. It presents you with the task of opening up just those components you require in order to restore functionality. This is great from a security point of view, but it's a nightmare for the sort of person who got designated system administrator simply because their cubicle was closest to the printer.
  10878. **It doesn't matter what your previous settings were under Windows 2000 or NT
  10879. . Once you upgrade your server to Windows Server 2003, you'll get Microsoft's minimal settings, which force you to deliberately unfetter most aspects of your system again. You might, for example, decide to fire up Internet Explorer after installation is complete, perhaps to log into your company intranet, or perhaps simply by kicking off Windows Update to see if any updates or security patches are available.
  10880. **You'll immediately be greeted by a message box telling you that Microsoft Inter
  10881. net Explorer's Enhanced Security Configuration (ESC) is enabled on this server. Before you even contemplate browsing anything, you're forced to enable that access yourself - and this applies equally to internal as well as external sites, as we shall see shortly. 
  10882. **Effectively, you have to open the holes in your security yourself, because Microsoft has taken the bull by the horns and reacted to the 'insecure' jibes by removing default privileges for just about everything imaginable.
  10883. ite frankly, I applaud this move. If anything, I wish Microsoft would have gone further still and insisted that only signed drivers be deployable on the server, but, given the deplorable state of affairs that currently exists, a move that bold would have stopped a huge number of peripherals from working at all. The number of unsigned printer drivers, for example, available for download as the 'latest' driver is quite shocking. While signing a driver is no guarantee of its quality, it's sig
  10884. nificant that when I took part in a recent printer test a considerable number of the unsigned drivers failed to install correctly on Windows XP Home. Their signed brethren - found on the CD that shipped with the printer - installed without difficulty.
  10885. **Internet Explorer on Windows Server 2003, by default, blocks access to scripting, file downloads, ActiveX controls and the Microsoft VM. A whole slew of other settings that used to be enabled by default are now disabled by default. If you 
  10886. insist on browsing the Internet from your server, at the very least you'll have to keep adding sites to your Trusted Sites zone - not a great idea - and almost certainly will have to make frequent trips to the Advanced Settings dialog to discover why yet another browser feature has stopped working. 
  10887. **Microsoft hasn't even shown particular favouritism here: the Windows Update site is included among the Trusted Sites list, but when I fired up the brand-new Group Policy Management Console (
  10888. GPMC) and started randomly clicking on entries to see what was under the hood I was quickly warned that if I wanted a certain functionality I'd have to add an item named 'about:security_ mmc.exe' to the Trusted Sites zone.
  10889. **This warning and request will appear any time you try and view a report in the GPMC, until you relent and add the item that scripts the expansion and contraction of report pages. And if you choose not to add it, all reports are permanently expanded and you won't be ab
  10890. le to collapse sections at all. In the old days, Microsoft wouldn't have given a second's thought to adding this functionality by default and saving you the annoyance. It's an indication of the serious approach the company is now taking to security that it has clearly decided it would sooner irritate than placate.
  10891. **As an aside, one of the things you can do within the GPMC is view explanatory dialogs on the function of various settings that you can access in the Administrative Templates a
  10892. rea. The first time you do this, a dialog springs up enquiring as to whether you want to add 'about:blank' to the Trusted Site list. This isn't a good idea. The worst that can happen if you don't add it is that you lose the Print and Close buttons from the explanatory text dialogs. Use drag and drop and Notepad if you want to do some printing - it's better than blowing a large hole in the side of your security settings. 
  10893. **But don't just take my word for it, because this is exactly what M
  10894. icrosoft recommends in this instance. Ease of use sacrificed in the face of a security requirement? The new face of Microsoft indeed...
  10895. **The new, secure face of Microsoft was in London two days ago in the shape of Craig Fiebig, general manager of the security business unit (part of the product management group) at Microsoft. After a most instructive meeting, a group of us came away with a clear idea of just how Microsoft's people are now focusing their minds on the security issue. 
  10896.  take a simple example, we all know time-to-market is very important when launching a product into one of the most cut-throat industries in the world. This didn't prevent Microsoft grabbing all its developers, stopping their code-developing activities and putting them through courses on writing secure code before allowing them back into their rooms. This changed the way Microsoft managed code - now it can immediately identify the individual who has written a particular line of code. It's a
  10897.  move I imagine does wonders for concentrating people's minds, in combination with those reports that instant execution is now promised for anyone who fails to implement the new secure code guidelines. Life at Redmond has become very uncomfortable if you don't take security seriously, and people are running code audits to ensure the guidelines are being adhered to. 
  10898. **Microsoft is well aware of the need to simplify the update procedures for a whole host of its products, and my idea of hav
  10899. ing a single site for all updates (issue 103) is to become a reality. I'm not going to claim it was my suggestion in this column that sparked that particular move, though. I pointed out that one limitation of Windows Update was that it didn't tell you about all available patches, just those that affected the software currently installed on your system. I suggested it would be helpful for us to be able to see what else existed in the patch tree. I might be unsure whether I needed a certain 
  10900. update, but there would have been no such question had I been able to see that installing that update would give me access to other useful/critical patches.
  10901. **Only time will tell if that suggestion will also be taken up, although I think that it may well appear in one form or another as Craig Fiebig was most open to suggestion and seemed to like the idea. 
  10902. **Off to see the Wizard
  10903. *I also pointed out to him that I felt the move to total lockdown was a bold one given what it might do to th
  10904. e heart condition of the unwary sysadmin. Microsoft clearly feels the same way, as there's a Wizard in the offing - it wasn't ready in time for the shrink-wrap - that will go a long way toward helping people quickly configure their servers as they want them to be without blowing their new found security out of the water. The Security Configuration Wizard looks like being a rather splendid tool that all admins will want to add to their armoury as soon as they can get hold of it, which possi
  10905. bly could be by the time you read this column.
  10906. **The Wizard enables you to easily set up a system to perform a specified role, or carry out a specific process, in such a way as to only implement those features required without touching anything else. Rather neatly, the Wizard gets its data from an XML file, which means your company can make its own updates to the content, enabling it to accurately reflect implementations within your own business. It's effectively a knowledge base of all t
  10907. he items necessary to implement a particular service (port numbers, dependencies, communication protocols, role definitions and so on). Assuming that the service is already installed on a system, it will enable the administrator to activate it secure in the knowledge that this is all that's being activated, and that no inadvertent configuration errors have occurred. It's rather useful that not only does it ensure you get a consistent configuration every time you use the Wizard, but if you 
  10908. take the time to look at the contents of each page you'll see just what services are required for a server to perform specific roles.
  10909. **You could, for example, decide to apply the web server role to a system: as you progress through the pages, you'll see in the pre-selected items on each page just what services are needed to enable a server to perform this role. While an experienced sysadmin would probably have known that they would want a web server to carry out DNS resolution, they migh
  10910. t not have known that COM+ is needed for ASP pages. The Wizard ensures this sort of problem never arises, as it knows precisely what's required.
  10911. **Should some of these options not meet your approval, you can opt to not install any service, and you can also add services of your own should the need arise - there's plenty of opportunity for customisation, if necessary. On one page, the Wizard even shows you running services that aren't in its knowledge base: each one is selected and will be 
  10912. left to continue running after the Wizard has done its stuff, but it gives you a chance to see if there's anything of which you don't approve.
  10913. **You also get the opportunity to decide whether unspecified services are left running, or whether they should be disabled automatically when the server role is applied. Plus, there are further pages that deal with the ports that will be affected, filtering, encryption and more. This seems like a comprehensive tool as it stands, but it's still in b
  10914. eta, so there may well be changes by the time it becomes available. It's a shame it wasn't ready for the shrink-wrap, as I can see this being a highly useful aid that will save a great deal of time.
  10915. **The Security Configuration Wizard is just one of a number of tools that will be available to system administrators. Another, which puts in an appearance in the Enterprise and Datacenter Editions, is the Windows System Resource Manager.
  10916. **This tool enables administrators to control resources
  10917.  on both those platforms, specifically memory and CPU, and how they should be distributed among processes, applications and services. It's equally at home dealing with resource distribution among multiple applications as it is handling your chosen resource limits for multiple users on a system using Terminal Services.
  10918. **This will get some serious attention, but I'll be willing to bet the one tool that will be grasped with both hands and pored over with fervent interest on all the various 
  10919. Windows Server 2003 editions is the GPMC I mentioned earlier. This will let you configure all your group policies from one place. It provides you with the capability to back up and restore Group Policy Objects (GPOs), see reports on those GPOs (reports become a little easier to control once you've pacified Internet Explorer's Enhanced Security Configuration), the import and export of GPO and Windows Management Interface (WMI) filters, and lots of other yummy things.
  10920. **It does all this fro
  10921. m the comfort zone of a management console interface. It means you can get up to speed in no time at all, even if you know you're in for a massive head-down learning experience as you attempt to get to grips with the power that has just been placed in your hands.
  10922. **The console can be run on a Windows 2003 server, naturally, but it can also be run from a workstation running Windows XP Professional so long as it has SP 1 and a particular post-SP 1 hotfix installed already (which is handily 
  10923. supplied with the GPMC download). The GPMC enables you to manage multiple forests from the same console and, once you have a Windows 2003 server set up as a domain controller, you get access to something known as the Resultant Set of Policy (RSoP) feature of Windows Server 2003. This has two modes: Planning and Logging. The former enables you to simulate the effects of your group policies before you actually apply them on your live systems. The latter provides you with information showing 
  10924. you what exactly happened to a user/ computer after a policy was applied.
  10925. **These features are found under the Group Policy Modelling and Group Policy Results folders respectively, and the two other folders in the simple interface are for the domains - all presented as peers regardless of their DNS relationship, as group policies aren't inheritable between domains - and sites. While the data for most of these items is automatically generated, Microsoft chooses to let the administrator dec
  10926. ide on the number of sites that will be displayed in the Sites folder, something that will probably be well received by organisations with a large number of sites that would otherwise have required lengthy probing.
  10927. **In short, Windows Server 2003 marks a genuine change of approach by Microsoft. I hope it proves to be a solid platform from the word go, as I like the idea of locked-down systems very much. I can also only offer up the hope that Microsoft is planning to do a ground-up rewrite]
  10928.  of Internet Explorer based on its new secure code initiative, as I'm sure that would also be very well received by everyone who uses Windows and the Internet on a regular basis.
  10929. HgDavid Moss watches Microsoft turns the tables on its critics, increasing security and helping sysadminsL
  10930. August 2003X
  10931. 106 (August 2003)i
  10932. Back Office
  10933. honeyballA
  10934. jewells
  10935. honeyballA
  10936. honeyball
  10937. david
  10938. mossr
  10939. honeyball
  10940. david
  10941. mossi
  10942. jonesB
  10943. kevinE
  10944. ebooks
  10945. palmW
  10946. freeR
  10947. frontpageS
  10948. frontpage
  10949. 2003S
  10950. onlineN
  10951. inchesD
  10952. interestedF
  10953. justO
  10954. long-trouseredC
  10955. long-trousered
  10956. lossV
  10957. profileV
  10958. mannersQ
  10959. colour
  10960. officeU
  10961. office
  10962. office
  10963. appraisal
  10964. office
  10965. brother
  10966. water
  10967. oldies
  10968. button
  10969. xpress
  10970. right
  10971. track
  10972. write
  10973. track
  10974. track
  10975. marks
  10976. on-line
  10977. on-line
  10978. backup
  10979. one-stop
  10980. one-stop
  10981. solutions
  10982. onlineN
  10983. online
  10984. defamation
  10985. interact
  10986. resolving
  10987. resolution
  10988. retiringe
  10989. retiring
  10990. earlye
  10991. roots
  10992. san-ityr
  10993. schizoid
  10994. schizoid
  10995. score
  10996. trotA
  10997. trotted
  10998. troubleG
  10999. trouble-free
  11000. trouble-shooter
  11001. troubled}
  11002. troubleshoot
  11003. troubleshooter
  11004. troubleshooting
  11005. troublesome
  11006. troubling
  11007. troughs
  11008. troupe
  11009. trouser
  11010. trousersC
  11011. trove
  11012. troves
  11013. tru64
  11014. truce
  11015. truck
  11016. volume-licensing@
  11017. voluntarily
  11018. voodoo3
  11019. voracious@
  11020. vstudio/device@
  11021. w32/magistr-a@
  11022. wager
  11023. wailing@
  11024. wait-and-see
  11025. waited@
  11026. waive@
  11027. walking@
  11028. walkthroughs@
  11029. wandered@
  11030. wandering
  11031. want@
  11032. wanted
  11033. wanting
  11034. wap-alike
  11035. war's@
  11036. watches@
  11037. watercolour@
  11038. wave@
  11039. waved@
  11040. wayback@
  11041. wayside@
  11042. wdheaderfooterprimar@
  11043. wdmaintextstory@
  11044. received
  11045. interesting
  11046. email
  11047. arturo
  11048. bristol
  11049. aski@
  11050. we're@
  11051. we've@
  11052. we've
  11053. concentrating
  11054. technical
  11055. wealth
  11056. weaned@
  11057. weapons@
  11058. designers
  11059. might
  11060. admit
  11061. web's@
  11062. web-activated@
  11063. web-browsing@
  11064. webcoders@
  11065. webring@
  11066. week@
  11067. templatesC
  11068. templatesize
  11069. temple
  11070. tempoa
  11071. temporarilyd
  11072. temporaryB
  11073. temport
  11074. tempos
  11075. actualA
  11076. ad-awarem
  11077. ad-blockingc
  11078. ad-displayingm
  11079. ad-filtering
  11080. ad-freeS
  11081. ad-hocK
  11082. ad-sponsored
  11083. ad-watchm
  11084. ad/da
  11085. ad/dns]
  11086. adagex
  11087. adamantg
  11088. adams
  11089. adaptP
  11090. simplifyC
  11091. simplifying[
  11092. simplistic|
  11093. simpson
  11094. simulateC
  11095. simulationZ
  11096. simulator
  11097. simultaneousa
  11098. simultaneouslyD
  11099. sinceD
  11100. sincerestS
  11101. sing\
  11102. singer
  11103. singers
  11104. henceA
  11105. heuristicc
  11106. heuristicsQ
  11107. hewlett-packardA
  11108. hexadecimalZ
  11109. heywoodX
  11110. hfnetchkr
  11111. hfnetchkltr
  11112. hfnetchkpror
  11113. responseA
  11114. restartF
  11115. restarted
  11116. restarting
  11117. H~David Evnull reveals the subtleties that differentiate not only Unix and Internet mail, but acronyms such as MDA and MTA, too.L
  11118. February 1998P
  11119. 40 (February 1998)i
  11120. UNIX/UNIX SERVERSj
  11121. Paul Ockenden and Mark NewtonD
  11122. Changing the Script
  11123. Welcome to a brand-new Real World column about designing for the Web. So does the world really need yet another Internet column? Well, yes and no. Yes we believe there
  11124. s a need for a column like this, but no it isn
  11125. t simply another Internet column.
  11126. PC Pro already has an excellent column for Net users by Davey Winder, but we intend to write about the Net from the other side of the fence - from the point of view of companies trying to establish a credible and effective Web presence. We
  11127. ll co
  11128. ve begun to match the Palms in being small enough.
  11129. **The same criterion applies to laptops. Ever since the first Compaq 'sewing machine' portables, I've always wanted smaller and lighter units, and I use several Sony and Sharp ultra portables with some satisfaction. However, with laptops, as with PDAs, enough is enough. The smallest VAIO models with distorted screen shapes may be miracles of miniaturisation, but most applications aren't well-suited to their display format. Packing for a t
  11130. rip is when the trade-off between size, weight and functionality really bites, and I often find myself taking a 'proper' laptop and a wireless Palm in preference to my VAIO ultra portable. 
  11131. **Is there such a thing as too big, though? I'll soon be in a position to answer this as I've indulged in one of Apple's new 17in PowerBooks. Many of us use laptops in situations where they're not required to be very portable, although in a completely immovable application a desktop PC should logically
  11132.  win every way up. It has a higher specification and a cheaper price than any comparable laptop, is more flexible for upgrades and cheaper to run. The components in most desktops can be individually replaced, repaired and upgraded, whereas the majority of laptops have to be replaced if a single component fails. Also, because of their compact structure, they suffer more from heat stress and other traumas.
  11133. **Having said that, and cost apart, a laptop can still make an effective desktop subs
  11134. titute, especially a large-screen laptop, as I find that I work more effectively on large displays. On a small display, I have to stick to one task at a time, but with a large display I can keep several applications open simultaneously and switch between them. I find Mac OS X better than Windows XP for this, as its default window design is better suited for keeping multiple windows on screen at once and switching between hidden states of applications. If I'm dependent on peripherals, thoug
  11135. h, forget the laptop, as switching between scanners, tablets and specialist devices can be a major hassle. Even so, FireWire and 802.11b are making it less of a hassle than it used to be, and I hardly ever need to reboot to swap devices nowadays, and routinely plug in a FireWire disk for backup. I'm impressed with those USB key-fob memory sticks, but they still don't hold enough for my typical usage.
  11136. **My experience so far with the 17in PowerBook has been rather brief. It certainly seems 
  11137. effective enough for my needs, but there have been teething troubles that have prevented me from being able to subject it to the full gamut of plane flights and hotels, though for day-to-day programming and general work it's good. Its AirPort reception is much better than with the old PowerBook I'm using to write this column - as good as the iBook, I'd guess, without actually measuring it. My main reason for using PowerBooks is that they support a dual-monitor mode that's excellent for run
  11138. ning training courses - add an external projector and a Keyspan remote control, and I'm in business. Without this dual-monitor facility, I'm stuck with nowhere to read my notes on the slides (apart from the very fallible projector inside my head). Of course, the 12in model would be perfectly adequate for this application. But given my preference for more screen real estate when programming, the 17in was much more attractive, and I grasped the opportunity to size it up for more general port
  11139. able use as well as this specific application for training courses.
  11140. **The reason I'm still using my old PowerBook instead of the 17in one is that on its very first day I inserted a CD to evaluate its sound quality, and the machine started hard crashing (which is very unusual). Removing the CD and running a manual fsck (that cosy old Unix standby: I'm glad that some things never change) got it running again, but now without the AirPort working, which was a real pain.
  11141. *I was in the middl
  11142. e of a high-pressure programming project so I didn't have time to do much about it. I used Disk Utility to rebuild its disk, disappointed that I couldn't run the more dependable DiskWarrior from Alsoft. It might have been possible with a lot of effort, but it wasn't worth it to me - DiskWarrior requires a Mac OS 9 bootable machine and doesn't yet support checking from a bootable Mac OS X CD. So I reformatted, repartioned and reinstalled, but still no working AirPort. Apple provides the Pow
  11143. erBook with a 12-month warranty, so I invoked it. The support service agreed with me that it was broken, but couldn't repair it - I assume that was because the AirPort hardware is now built-in and not on a removable PC Card. So I'm now waiting several weeks for Apple to get more in stock, which is a pretty poor show for warranty support.
  11144. **AirPort range
  11145. *I've gone on at some length   previously about the PowerBook G4's rather strange aerial mechanism, wherein the AirPort antenna is enclos
  11146. ed within a metal chassis so that it has a far shorter effective range than the iBook (which is especially good). 
  11147. **How Apple managed to produce one product with better-than-average range immediately after one with abysmal range I can't explain. The new 17in PowerBook model is, as I've already mentioned, a lot better and comparable to the old iBook. However, if you have an older PowerBook G4, I do have a couple of tips to pass on. 
  11148. **The first couple are simple and don't involve breakin
  11149. g any warranties. First, remove the power adaptor cable and your range will suddenly improve. The rationale behind this one is that the poor reception is caused by all the metal in the case acting as a Faraday cage and absorbing all the power from the network transmissions. The (imperfect) earth coupling provided through the power cable increases the effectiveness of this Faraday cage, reducing the energy of the waves getting through to the AirPort antenna inside the case.
  11150. **The antenna w
  11151. ire is connected to the PC Card format AirPort receiver in the middle of the casing and is connected to a wire or metal strip situated inside the outer frame of the case. This runs through the frame next to the battery compartment, and apparently a connection in there can sometimes come loose. If you remove the battery and look inside the compartment, there's a plastic strip with the identification information (model details and date of manufacture) on the right. Press firmly on this strip
  11152.  and run your fingers backwards and forwards along it a couple of times and your reception may improve - it didn't help me unfortunately.
  11153. **The two other solutions are slightly more extreme and will break your warranty, but they should be perfectly safe to carry out. One is to modify your AirPort base station to use a proper aerial - non-Apple ones may already have an aerial, or at least are likely to have an easily reached socket for an external aerial. The Apple base station uses a stan
  11154. dard PC Card 802.11b device with one of these aerial sockets, and if you open the case (warranty now void), you'll be able to see this, so drilling a hole in the case to take a standard aerial wire is the worst that you'll have to do.
  11155. **Given that the (old model) PowerBook G4 uses a standard PC Card AirPort card, you can also remove it from inside the case and reinsert it in the external PC Card slot, attaching an aerial to the end of the card - this is a standard fitment from other suppl
  11156. iers of the same cards.
  11157. **Newton Exhumed
  11158. *I was reminded recently that we've passed the five-year anniversary of Newton being buried by Apple. The more I think about it, the more I consider that Newton was the best PDA ever made. It had some problems, basically to do with size. The first MessagePad, known as the OMP ('Original MessagePad'), had the best form factor, but the larger display and writing area of the last model, the MP2100, had its positive points. Nowadays, it would be consid
  11159. ered a mini-tablet rather than a PDA, while the eMate, designed to use the same operating software, was close in concept to current Tablet PCs. Newton was ahead of its time in many ways: its handwriting recognition is still easily a match for any current handwriting-recognition software, it used the ARM processor well before the current fashion and supported networking very early on, giving it a modern design.
  11160. **The Newton also gave birth to the most successful of PDAs, the Palm series. P
  11161. alm started out using Graffiti, developed originally as an alternative handwriting-recognition system for Newton, while Palm OS was an excellent attempt to mould the same user interface onto a much lower- resolution display, with the same high degree of attention to detail over usability. The Newton user community is still very active - I checked a couple of the software developers I find most reliable for Newton software and they're both in business and able to supply Newton products. New
  11162. ton has an active mailing list as well as some up-to-date software - if you check my list of links, you should find an 802.11b network driver, Mac OS X synchronisation software and updates to the IrComm software.
  11163. HFPaul Lynch finds that the new PowerBook really is the Apple of his eyeL
  11164. August 2003X
  11165. 106 (August 2003)i
  11166. Mobile Computing
  11167. Kevin PartnerD
  11168. Thinking ahead
  11169. Creating multimedia projects is all about sharing. There's no fun in putting together the most sophisticated, kick-arse presentation, game or e-learning application only to find that it works on your own PC and no-one else's. And if you create multimedia applications for a living, the future of your business depends on your masterpiece working properly both on your client's PC and, often, on your client's clients too.
  11170. **This is true for most software development, but, by its very nature, 
  11171. laptopsD
  11172. abled object ready to be accessed by remote apps. ObjectSpace is already saying that Voyager 1.1 will also talk CORBA to enable it to plug into other CORBA applications; this should also allow it to talk to C, C++ and other languages.
  11173. You may wonder where Java
  11174. s RMI (remote method invocation) fits into the picture. It doesn
  11175. t. Voyager sidesteps RMI, taking on all its own work but leveraging all the language enhancements that were added to support RMI. My experience is that in developing wi
  11176. th it and running code, Voyager is faster than RMI. Add to this Microsoft
  11177. s reluctance to release and support RMI and there
  11178. s the makings of a dilemma - it
  11179. s your call whether to ask folks to install RMI on IE or just send the Voyager classes. Me, I
  11180. m sticking with Voyager - for now anyway. All this fab stuff can be downloaded from www.objectspace.com along with everything else you need to start making those distributed mobile agent systems. 
  11181. ubiquitousB
  11182. ubiquitously
  11183. ubiquity
  11184. ubound
  11185. ubr's
  11186. ucallbackmessage
  11187. ucase
  11188. ucr-converted
  11189. ucspectrum
  11190. uddi's
  11191. uddi-org
  11192. uddi10
  11193. uddienv
  11194. uddierrno
  11195. uddirequest
  11196. udma/100
  11197. udma/66
  11198. udp-based
  11199. uflags
  11200. ugliesto
  11201. reasonsA
  11202. reassemble
  11203. reassembled
  11204. reassembly
  11205. rebootingJ
  11206. apple'sD
  11207. apple-based
  11208. apple-cued
  11209. apple-developede
  11210. apple-ification
  11211. apple-supplied
  11212. appleman
  11213. appliedC
  11214. appliesC
  11215. applyC
  11216. applyingF
  11217. appointee_
  11218. appointmentK
  11219. appointmentsK
  11220. appreciateA
  11221. appreciatingQ
  11222. approachC
  11223. approachedL
  11224. approachesB
  11225. approachingV
  11226. appropriateE
  11227. appropriately[
  11228. approvalC
  11229. approveC
  11230. approved_
  11231. appsG
  11232. aprilH
  11233. arbitraryL
  11234. archiZ
  11235. architectT
  11236. architectureH
  11237. archiveM
  11238. archivingN
  11239. ardourA
  11240. gy, but the best part is it
  11241. s free for commercial and non-commercial use. Yes, that
  11242. s right. Like JGL before it, Voyager is free to everyone except, of course, IDE and other development environment makers who
  11243. d like to add it to their toolset. Fair enough, I say; if they
  11244. re going to add a feature to their system, they should be made to pay for it, like the numerous companies that licensed JGL. Free software can mean ropey documentation or an absence of support, but ObjectSpace skirts round
  11245.  both of these pitfalls with a 400-plus page manual and informal (but excellent) support through mailing lists. 
  11246. If you want more, proper commercial developer support and major enhancements/add-ons can be had by plying ObjectSpace with money units, which is where it makes its crust. Experience with the JGL shows how well it supports software (now in its third major version), as it now has numerous enhancements including Voyager support, so you can create an Array or HashMap as a Voyager-en
  11247. considerD
  11248. es objects between a client and server to pick up data sets, and I
  11249. ve managed to pick up the basics of Voyager in less than a week. I say the basics simply because there
  11250. s so much in Voyager to explore.
  11251. Voyager comes with a simple persistent data store so that you can save objects and resurrect them automatically when someone calls for them. There
  11252. s a resilient messaging system too that allows for point-to-point or one-to-many messages between objects. It also has the concept of linked spa
  11253. ces that automatically pass messages safely between each other to avoid dreaded message loops. Then there
  11254. s support for applets that want to be Voyager clients so that they too can join in the networked distributed fun. On top of all this are agents, which in Voyager are objects that can move themselves around the network, picking up data and then returning home to spill their guts about whatever they found. In fact, this is how I
  11255. ve envisioned 
  11256. agents
  11257.  for a long time.
  11258. s great technolo
  11259. framework for developing mobile objects and agents, and supporting distributed Java-based apps.
  11260. Perhaps the most stunning feature of Voyager is how easy it is to use. You take your Java class - say, Calculator, which has a method called add - and run the supplied 
  11261.  utility which creates a virtual version of the class identified by a 
  11262.  at the front of the class name. So Calculator.java is then complemented by Vcalculator.java. Compile the two and you can now write a program that creat
  11263. es an instance of the Calculator along with a virtual version - the world is then your bivalve with enclosed pearl.
  11264. Other programs running on other networked machines can locate your new virtual Calculator and call its methods, say, the add method. This virtual object can be moved from machine to machine, so you can create a load-balancing network or else just move objects around to bring them closer to their data sources or related objects. I
  11265. ve been working on an application which shuttl
  11266. handheld
  11267. pocket
  11268. lynch
  11269. steve
  11270. cassidy
  11271. isp's
  11272. issueL
  11273. issues
  11274. Steve CassidyD
  11275. Remotely interested
  11276. Two months back, my colleagues in PC Pro's Enterprise section reviewed a clutch of remote-control tools - those rather sleight-of-hand gadgets that let you control a remote machine from inside a window on your PC's desktop (issue 104). These have become quite the thing to have in corporate environments nowadays, so much so that, in a couple of extremely large networks I've seen, it often feels as though you're doing your actual data processing using the handful of CPU cycles left over afte
  11277. a multimedia application depends on the presence on the host system of, for example, the correct sound and video drivers, ActiveX components and codecs. For us developers, it's rarely acceptable to simply insist our end users have the latest operating system plus patches, DirectX installation, memory requirements and up-to-date drivers. Rather, it's up to us to make sure our applications work on the widest range of setups. This sort of attention to detail is mission-critical - at least as 
  11278. important as any other aspect of development - and failing to pay attention to it is the quickest way I know to undermine your credibility with both clients and users.
  11279. **Of course, the simplest way to achieve this compatibility is to create multimedia applications that require the bare minimum configuration. At NlightN, we support the following minimum spec for most of our projects: Windows 98 SE, 64MB of RAM, Pentium III/350, Sound Blaster sound card, DirectX 6 and 16-bit colour depth. C
  11280. hoosing such a minimum specification needs to be discussed with your client, but you must bear in mind the risk of working to a very low spec. You need to pick a specification that that will allow your software to work acceptably while not denying you the bells and whistles that are so much a part of a multimedia project. 
  11281. **Naturally, you won't want to actually create the software on a low-spec PC, so it's essential that you invest in a bare-bones PC, reserved solely for the purpose of t
  11282. esting. Get a copy of Drive Image and save an image of the fresh installation so you can restore a clean Windows after each testing session, just in case your setup program adds components. The good news is that such a PC will cost you next to nothing and will repay itself over and over again as you catch configuration errors before distributing software to your clients. Any large-scale multimedia project should be prototyped on the target PC as soon as possible, so any compatibility issue
  11283. s can be resolved before the project goes too far. The bigger the project, the more you have to lose by leaving testing too late.
  11284. **As a rule, users and their IT administrators don't like setup programs that force the installation of huge libraries such as the .NET Framework, video/audio libraries or DirectX. With many corporate clients nowadays, requiring such an installation can kill off a project if not dealt with at the beginning. Again, there's a balance to be struck here: your multi
  11285. media product has to be fully functional, but it's better to use only formats and controls already supported by your user's PC. 
  11286. **For video, the best format is usually MPEG-1, which offers reasonable playback quality, low hardware demands and widespread compatibility. If you must use AVI, pick either the Indeo 5 or 3.2 codecs, as these are widely supported and offer fair quality. Avoid QuickTime movies unless you relish the idea of talking your users through QuickTime's installation proc
  11287. ess and the problems it regularly causes. 
  11288. **If you do decide on MPEG-1, you'll need to think about the optimum combination of image quality, file size and compression for your particular project. As a rule, compress as little as possible, because this places less of a strain on the processor of the playback PC. It does, however, also result in bigger files and therefore a more bulky installation. Again, it's a question of finding the right compromise, and experimentation is important.
  11289. *With audio, your choice is between MP3 or WAV format. If file size isn't an issue, WAV is the ideal choice, as it will play back on every conceivable Windows installation. For audio narration, I tend to use a 44kHz sample rate at 16-bit resolution in just a single channel, while music uses the same settings but in stereo. You can get away with 22kHz, but if you're doing that for reasons of file size you'd be better off choosing MP3 playback at a higher quality. 
  11290. **MP3 playback is now alm
  11291. ost ubiquitous and offers excellent compression. It places a slightly higher strain on the processor, but even our minimally specified system should be fine. We use a setting of 64Kb/sec in mono for narration or in stereo for music. Unless, that is, we're developing in Mediator 7, which has an odd dislike for certain settings on particular PCs. MP3s that play back perfectly through Mediator on most PCs seem to play at a much faster rate on other PCs while playing in Media Player without pr
  11292. oblems. For some reason, this affects certain sample rates and not others: 96Kb/sec seems to work perfectly on all systems, whereas 56Kb/sec and 64Kb/sec don't. This is presumably because MatchWare re-wrote the sound playback engine from scratch for the latest version of Mediator and hasn't quite ironed out the bugs yet.
  11293. **You'll also have to decide on screen resolution and colour depth. There are a number of good reasons for sticking with a resolution of 800 x 600. First, this resolution
  11294.  is supported by all graphics cards and monitors built in recent years. Having said that, the vast majority of systems will also support higher resolutions, so why not go to 1,024 x 768 at 16-bit colour depth? By increasing the number of pixels on every screen from 480,000 to 786,432, you must also increase the size of all the images in the presentation and, crucially, the video clips. This can have an impact both on performance and storage requirements. 
  11295. **One obvious solution is to deve
  11296. lop at 800 x 600 and have the presentation change the user's resolution and colour depth automatically, restoring their original settings at the end. However, this is a bad idea. Not only do you run the risk of hanging a machine when either setting or resetting the display, but it really narks users to have their screens resize under your control, especially if the presentation no longer quite fits on the screen. A better option is to present your program at a fixed size within a black sur
  11297. round - the user can then change the resolution themselves if they choose.
  11298. **Colour depth is simpler, since just about every PC in use today can operate in 16-bit colour. I develop at 32-bit and then test on a 16-bit display. The differences tend to be particularly noticeable in graphics that contain many colours within a small range - for example, black and white photos and gradients.
  11299. **Any other dependencies will vary according to your authoring tool. Director, Opus and Mediator can al
  11300. l output to a single EXE file containing the media, code and run-time components, so deploying projects created using these should be a piece of cake, right? In the real world, there are several reasons why packing your presentation into an EXE is not a good idea, particularly for large, complex projects. One of the key requirements of a major project we're currently working on at NlightN is that it should be easy to update. By binding all the resources and programming into a single EXE, i
  11301. t becomes impossible to update without replacing the entire EXE.
  11302. **In the case of Director, it's standard practice to create a stub projector that contains all the required Xtras but otherwise does nothing more than start up a protected Director movie. The resources and code in that movie are further subdivided across various protected casts. If a bug arises, it's often just a case of replacing the external cast containing your scripts. Similarly, if a graphic has become out of date, it's
  11303.  just the cast containing your graphics that needs to be replaced.
  11304. **This is a little more difficult in Mediator, but ultimately more flexible. By default, Mediator creates a stub EXE and consolidates all the resources into the same directory as the Mediator presentation file. Let's imagine, however, that you deploy via CD-ROM but then want to change a graphic. Clearly, that graphic will need to be stored on the user's hard disk along with an updated Mediator document that points to it. M
  11305. ost of the graphics are still on the CD-ROM, so the original Mediator document would have to be amended so that all image objects point to the CD-ROM except the one that has been amended - quite a job for a single amendment. Our solution for this has been to replace all literal paths in the Mediator document with variables. By creating a cdromDrive variable on installation, and sticking to a standard directory structure, it's possible to account for any likely drive configuration on the en
  11306. d user's PC. In this way, if the Mediator document is updated, the only amendment needed is to ensure that the variable pointing to the old graphic is replaced with a literal path to the new one on the hard disk. The other resources will still be pointed to by the cdromDrive variable.
  11307. **In fact, we're using both Director and Mediator for our project. My intention had always been to create a complete Mediator installation, including run-time components, in various subdirectories on the CD-
  11308. ROM and point to them using a Mediator menu. Unfortunately, Mediator's 'Open Md8' action doesn't support variables, so unless I'm prepared to create IF structures to account for every possible CD-ROM drive letter from D to Z it's completely useless. 
  11309. **So I turned to Director to create the menu. This is a hugely complex job, to which Director is well suited. It has to manage user accounts on the local machine, communicate with an online database to check whether they've been assigned to t
  11310. he e-learning package, retrieve their course-completion data and reflect that on the menu, check for and handle course updates, monitor progress, launch the appropriate Mediator document and post their updated course-completion information to the server.
  11311. **In this case, I've created my stub projector, plus a main module called menu.dir (dxr on deployment), a cast containing all text components and a separate cast containing the scripts. This way, if the menu needs to be updated, the file 
  11312. size is kept to a minimum. Configuration information is kept in three INI files and I've made extensive use of the excellent Buddy API Xtra, probably the most useful of all the extensions available for Director. This menu system has been created so that it can be altered by our designers without needing to recompile each time. It generates the menu list dynamically and can even prompt the user to insert the appropriate CD if the project runs over more than one. 
  11313. **Both the menu system and
  11314.  the Mediator movies use various Windows ActiveX controls, so it's also essential that you ensure the appropriate controls are installed on the end-user's PC. Doing this in a seamless and professional way is beyond the scope either of the installation program built into Mediator or any custom program you could create in Director. Not surprisingly, the only way to ensure you have a professional setup program is to buy a professional setup program creator. 
  11315. **My favourite, in terms of value
  11316.  for money, features and usability, is Setup Factory by Indigo Rose Software (<A HREF="http://www.setupfactory.com" target="_BLANK">www.setupfactory.com</A>). For our current project, Setup Factory carries out all the usual functions: asking the user for an installation directory, presenting licensing information and creating a shortcut. It also creates a configuration INI file, inserts the CD-ROM's drive letter and installs and registers the ActiveX controls. It finishes by creating an un
  11317. install file and shortcut. 
  11318. **The impact of using a professional setup program like this can't be overestimated: it's your user's first impression of your presentation (and, if it's done badly, also possibly their final impression).
  11319. **Indigo Rose has also created TrueUpdate, which, as its name suggests, allows you to check for online updates, download the software and install it. In my case, the menu system will run TrueUpdate as part of the user logon process, check for updates on our w
  11320. eb server and invisibly transfer the appropriate media or program files to the user's hard disk. I haven't yet integrated this into the menu, but I'll let you know how I get on with it.
  11321. **A free lunch
  11322. *I've been using Microsoft Word since version 2, but it seems to have become ever more buggy as time has passed. A friend of mine had written a 350-page multimedia script containing a two-column table on each page. She had placed lots of frames and graphics into the right-hand column, but, a
  11323. fter nearly completing the script, Word froze upon opening the document. 
  11324. **After trying out a couple of downloadable document-fixing utilities with poor results, I tried the old trick of attempting to remove the advanced formatting that was probably causing the problem by saving in a previous format before it crashed. The document remained stubbornly unopenable. 
  11325. **In desperation, I downloaded and installed OpenOffice.org, following PC Pro's excellent 'Can you ditch Microsoft?' report o
  11326. n office packages. I opened the broken document in the Writer application and the results were fantastic. Not only did the document open, but it preserved almost all the advanced formatting and, once saved back into .doc format, it opened perfectly in Word too. The only major problem was that, for some reason, all arrows and lines shifted to the left and needed to be readjusted. But it was a small price to pay.
  11327. **Once it was installed on my system, I decided to take a closer look at OpenO
  11328. ffice. It's based on the code used to create Sun's StarOffice suite, which, ironically, made a much poorer job of opening the Word document. Sun donated this code and it's now open source. The word-processing application is fully featured and feels more responsive than Microsoft Word. 
  11329. **The same goes for the spreadsheet application. However,  of most interest for this column is the presentation package Impress, which offers all the facilities you're likely to need for most presentations.
  11330.  It includes a good range of downloadable templates, effects and drawing objects and an especially good 3D object. There really is very little PowerPoint can do that Impress can't. The transition was simple - it took me just a few minutes to get to grips with it and my only gripe is that there appears to be no equivalent to Microsoft's admittedly clunky Pack-and-Go facility for distributing presentations.
  11331. **Impress, and the other applications in this suite, are genuine alternatives to Mic_
  11332. rosoft Office, so much so that I'm trialling the suite here at NlightN with the intention of using it as a replacement for Office for most of the people here. I've written this column in OpenOffice.org Write and it has been a joy.
  11333. HbCareful deployment and installation are key to a successful multimedia project, says Kevin PartnerL
  11334. August 2003X
  11335. 106 (August 2003)i
  11336. MULTIMEDIA:VIDEO
  11337. overheadB
  11338. rheard
  11339. overheated
  11340. overheating
  11341. overinking
  11342. overjoyed
  11343. overkill
  11344. overlaid
  11345. overlap[
  11346. overlapped
  11347. overlapping
  11348. overlapsr
  11349. overlayd
  11350. overlayingd
  11351. overlays
  11352. overloadZ
  11353. overloaded
  11354. overloading
  11355. overlong
  11356. overlook
  11357. examples, shell scripts and a trove of useful public domain and free software, and what you have is a must-have book that all Unix users should keep next to their desk (from whence it will inevitably be tea-leafed).
  11358. The second edition of Exploring Java brings this rather good tutorial bang up to date with Java 1.1; coverage has also been extended to RMI, JavaBeans, Inner Classes, and all without disrupting the well thought-out flow. It
  11359. s a solid revamp and with Java in a Nutshell, it
  11360. s pri
  11361. me material for my Java quick-start book list.
  11362. Voyager sets off
  11363. d like to tell you about some exceptionally cool technology. Regular visitors to this little nook in PC Pro might remember me recommending the JGL (Java Generic Library) from ObjectSpace. JGL furnishes developers with all those handy-dandy data structures such as collections and algorithms that make life so much easier when doing real apps in Java. Well, ObjectSpace has been busy beavering away on its next work, Voyager, a 
  11364. @theweb.co.uk email address and I
  11365. ll always try to reply. Actually, make that two pleas: if you don
  11366. t get a reply, I
  11367. d appreciate it if you didn
  11368. t send me nasty mail as it may be that your mail has simply failed to get through.
  11369. Book stop
  11370. This month I
  11371. d like to mention two rather treasured books that I
  11372. ve just had stolen, Unix Power Tools and Exploring Java. I
  11373. m not about to go all Nick Ross on you, as I know these O
  11374. Reilly books are rather desirable and as such it
  11375. s perhaps inevitable the
  11376. ll be 
  11377. borrowed
  11378. . If you
  11379. ve been unfortunate enough to have either of these books lifted, second editions have just been published, giving you the perfect excuse to go out and buy new copies.
  11380. The new 
  11381. Unix Power Tools
  11382.  is pretty much the same as the original in that it
  11383. s the essential grab-bag of Unix hints and tricks. Flip it open at any page and learn how to control your command line shell, or how to use built-in Unix commands for clever file manipulation. Add into the mix a CD-ROM of 
  11384. setupA
  11385. developingE
  11386. developing
  11387. client
  11388. server
  11389. information
  11390. systems
  11391. enough
  11392. developing
  11393. multimedia
  11394. applications
  11395. complicated
  11396. business
  11397. prettyA
  11398. entitledA
  11399. entitlement
  11400. entitles
  11401. entitling
  11402. entity/relationship
  11403. entomology
  11404. entrails
  11405. entrain
  11406. entrance
  11407. entrant
  11408. entrants
  11409. entrenched
  11410. entrepreneur
  11411. entrepreneurst
  11412. entriesC
  11413. entropy
  11414. entrust
  11415. entrusted
  11416. variablesE
  11417. variably
  11418. variance
  11419. variant
  11420. variant/date
  11421. variants
  11422. ector-editingX
  11423. vector-only[
  11424. vectorised[
  11425. vectorize[
  11426. vectors[
  11427. vehicle_
  11428. venables
  11429. vendorX
  11430. vendor'sb
  11431. impressionE
  11432. impressionable
  11433. impressionistic
  11434. improvesj
  11435. improvingN
  11436. improvised
  11437. impudent~
  11438. impunity
  11439. desperationE
  11440. despise
  11441. despised
  11442. despiteG
  11443. sun'sE
  11444. sun-loungerp
  11445. sun-manufactured
  11446. sun-wards
  11447. sunday
  11448. sundays
  11449. sundry
  11450. sunflat/pilot
  11451. sunflower
  11452. sunflowers
  11453. sunglassesI
  11454. sunken
  11455. sunlight
  11456. sunnie
  11457. sunny
  11458. sunos
  11459. sunrise`
  11460. sunscreen
  11461. sunset
  11462. sunsets
  11463. sunshines
  11464. sunsite
  11465. sunsoft
  11466. supct
  11467. super\
  11468. super-charge
  11469. super-clean
  11470. super-dooper
  11471. super-efficient
  11472. super-fast
  11473. super-fine
  11474. super-flash
  11475. super-floppy
  11476. super-hero
  11477. presentationsE
  11478. presentedC
  11479. careful
  11480. deployment
  11481. installation
  11482. successful
  11483. carry
  11484. carrying
  11485. cascadingy
  11486. cases
  11487. cashing
  11488. cassidyF
  11489. cassiopeia
  11490. changing
  11491. channels
  11492. charity
  11493. cheap
  11494. checking
  11495. checklist
  11496. checks
  11497. cheques
  11498. chest
  11499. child
  11500. choice
  11501. choosing
  11502. choosing
  11503. service
  11504. could
  11505. christmas
  11506. circulate
  11507. client
  11508. clients
  11509. close
  11510. closer
  11511. cmykd
  11512. Davey WinderD
  11513. Semantic traps
  11514. There are times when, if I had any hair, I'd be pulling it out. Let me point out the obvious here once more: never click on a link in an HTML email unless you're 100 per cent sure of its provenance. I'm not against HTML mail per se - well actually, perhaps I am, which is why I use a grown-up mail client that doesn't automatically fetch whatever dangerous crap some total stranger has attached to their bloated, unsolicited communication.
  11515. **My client of choice, The Bat! (<A HREF="http://www.
  11516. r the software updater, the anti-virus utility, the email notifier, the system monitor and someone's remote-control application helping you to find the right button to press have all taken their bite.
  11517. **To some extent, I approve of remote control and use it a fair bit, even though I find the process of remote controlling a machine can often interfere with what else it may be doing in ways you may not foresee. I still haven't quite got over the shock of finding a Lotus Notes server I was u
  11518. sing crawl to an almost dead stop and then speed up the instant I removed VNC. 
  11519. **There are lots of installations out there with tens of thousands of copies of VNC running - because it's free and it isn't platform specific - and I won't be surprised if my mailbox now fills up with sage advice split into two camps; namely, 'Don't use Notes, then!' versus 'Something else broke it!' However, VNC is a very lightweight application in comparison with its distant opposite in the remote-control a
  11520. rena; that is, turning on Terminal Services under Windows 2000 Server in Application Mode. That sets in motion several tens of megabytes of stuff, directly descended from the fully customised and recompiled version of NT that is Citrix MetaFrame. Even a brief perusal of what's required to make various applications run under MetaFrame is enough to make me cautious about turning on Terminal Services on servers that have other serious jobs to do. I remain slightly cautious about remote contro
  11521. l for a couple of widely separated reasons:
  11522. **1. The market is somewhat divided: there are utilities that just do a remote inventory, and then there are the ones that are all about remote control. Remote inventory types like having the option to take over a machine and find out what that wicked little utility might be which someone has downloaded without authorisation. 
  11523. **Remote-control applications, on the other hand, stretch all the way back to those modes in pcAnywhere and GoToMyPC, w
  11524. hich allowed you to connect to your single-user PC from 'anywhere on the Internet'. It's quite hard to ensure that you're using the right utility suite for your mix of purposes.
  11525. **2. The usual justification is that you need remote control for all your users so you can support them properly. This noise becomes ever more strident as one moves up the scale of networks, until you discover that you're dealing with UniCentre or HP TopTools or Tivoli or whatever. I still bear mental scars from a
  11526. n encounter with the install CD for an HP-managed switch that installed six separate background processes on an already heavily laden server, just so it could watch the state of the ports on the switch. Here in the small network market, we live in the shadow of the hundred-thousand-seat network and can lose track of what's different between our environments and theirs.
  11527. **But 'support' means what, exactly, in the smaller network? In those sites where large-scale remote control and/or audit
  11528. ing products tend to get rolled out, the number of support staff to user population can be in the one-to-a-thousand bracket. I've heard of one email system with 20,000 users that has this year halved the nerd count from six to three, for example. 
  11529. **This is a radically different scenario from what we typically see around us. In my marketplace, the support ratio has a wide scatter but averages out so there's normally something like one supporter per 30 users, one between 100 only in extrao
  11530. rdinary circumstances. I can't think of a way in which a remote-control or audit product would accommodate the varied needs of the groups I work with, never mind spanning from them to those who have 10,000 or 100,000 people to worry about.
  11531. **Larger networks have different, not merely bigger, populations than smaller ones. It's important if you have 100,000 people all processing one of 20 possible permutations of the same billing and enquiry process that the software they use to do this is
  11532.  as tightly bolted down as possible. And when something goes wrong, it's vital that a bright light should start flashing on your 20ft wall-screen and a platoon of heavies thunder between the cubicles to track down the culprit. 
  11533. **It isn't so important that we run our little networks this way. My view of support in the smaller LAN is that you shouldn't be applying most of your effort to stopping people from doing things - it's hard enough getting a clear idea about what they do want to do 
  11534. without having to battle through security borrowed from the Hard-Nosed Businessman school of corporate paranoia. 
  11535. **Here's a simple test to help you tell whether you should be thinking about massive control or massive assistance. If you're on the high side of the user:supporter ratio, put effort into remote auditing and desktop lockdowns, unless there's a strong theme of individuality in your user base (say, lots of creatives or mobile users with industry-specific peripherals, like survey
  11536. ors or doctors). If you're more relaxed (that is, below that magic 1:30 ratio) and your duties are more about training than 'supporting', you need remote control much more than remote auditing.
  11537. **You'll laugh with Hyena
  11538. *My interest in remote working is much more focused on what happens on servers than it is on the users' PCs. I naively expect most of my clients' workers to have real work to do that doesn't involve breaking the tools they use for that work. Most of my interest is in contr
  11539. olling servers, and there's almost no need to indulge in full-screen remote control of a modern server.
  11540. **There are two methods of remote control to which I want to draw your attention. One is a product that has weathered both the test of time and Microsoft's attempts to kill it off by the art of pale imitation. I'm talking about Hyena. 
  11541. **I first drew people's attention to this product many years ago, but even back in the early days of NT 4, interest in the idea was so immediate that I 
  11542. got a mail from the author asking if all the traffic to his website was on account of the PC Pro coverage. Even then, Hyena would allow you to stop and start a range of services on your servers without ever walking up to their consoles or installing any extra software on them. But it went much further than that, offering the ability to stop a range of services across a farm of servers, or to apply the same change to a whole pile of user records without repetitive mouse-clickery. 
  11543. **That's
  11544.  a solid advantage, and even though Microsoft had a go at duplicating the capability inside Microsoft Management Console, there's still plenty of room in the marketplace for Hyena to carve a more-than-respectable niche. With its help, we can almost claw our way back to where we'd got to with NWAdmin under NetWare 5 in the mid-1990s.
  11545. **The other interesting little gadget for remote server fiddling is a bit more esoteric, and it's more about saving mouse-clicks and hiding the true extent of
  11546.  your attention span than it is about remote control as such. Go sit at your Windows 2000 PC - server or workstation - and open a command window, then type 'netsh interface dump'. Observe the speed with which about 100 lines of guff goes honking past your eyeballs, then type 'netsh interface dump > mynetwork.txt' and open the file in Notepad so you can see what the hell is going on.
  11547. **Netsh is a complete language for laying out everything about a whole computer's network presence. It most
  11548. ly concerns itself with your local computer, or you can run it remotely, enquiring about the way a distant machine is set up. It works within a wide range of contexts - there are seven, each concerned with the services and layers that make up your machine's contact with the LAN. I know what you're thinking - how can there possibly be seven contexts? Surely, there's a network control panel, and that's it? Looking at the sample output from my workstation, you'd be forgiven for thinking there
  11549.  are nil contexts - all it says is that I've configured the machine to use DHCP to get all its configuration data. From the perspective of netsh, this machine has nothing interesting to say. If I want to know about it, I could just read the configuration out of the DHCP server.
  11550. **Where netsh comes in seriously handy, though, is when playing with the networking on a server, and not just any simple everyday server, but one with what I generally consider to be the 'wrong' kind of work to do.
  11551.  Just because it's possible for a machine running a server OS to route network traffic from one Ethernet card to another, doesn't mean that the work of a router in your network should be done by the same box that's holding all your files. And in the small LAN sector, when these two quite differently prioritised activities are found together, it's normally a sign of some unfortunate purchasing or design decisions in the recent past. Servers serve and routers route, geddit?
  11552. **Except, of cou
  11553. rse, that the real world isn't like that. In an email exchange over the last couple of weeks with one beleaguered reader, I got to hear about his stack of Dell servers in a co-location centre, which weren't providing quite the functionality he was expecting. In particular, his capacity calculations had led him to believe that he needed teamed Gigabit Ethernet - that is, more than one Gigabit Ethernet card per server - to support the vast population of users he was expecting, but had found 
  11554. that the DHCP server process appeared to be ignoring the second Ethernet adaptor and only handing out addresses on the first card.
  11555. **This is the kind of territory where the friendly face of the Network Properties control panel starts to bite you hard. Just try having two network properties windows open at the same time when you have two LAN cards in the server - under Windows 2000 you get a prim little message saying, 'you can see the other window once you've closed the first one'. That p
  11556. roperty window is far more than just a display of your IP ranges and domains; it's a hook into the Services Control system and is ready to stop and restart anything that likes to talk down the LAN ports you're about to mess with.
  11557. **Like my frustrated co-location systems engineer correspondent, I hate tangling with those property dialogs. You're expected to track a consistent set of parameters across a wide range of interfaces, all through several little dialogs, some of which are multiple
  11558.  choice, others twisty expand/ collapse views. 
  11559. **As soon as you try to do something genuinely difficult - which includes most of the configurations of servers with presences in a DMZ - the graphical user interface simply runs out of road. This is where netsh can take over. It shows you huge amounts of detail concerning the environment of your server, and rather like iSQL it presents it in a re-parseable format. 
  11560. **Let's suppose that for some reason (close to mental illness) you have thr
  11561. ee Ethernet cards in a server and that none of them are teamed or pooled. You want to make an experimental change to the overall configuration, to stop the traffic from Ethernet A from reaching B but enable it to go to C. The first move in netsh terms is to dump out the current config in the 'interface dump' format. That way, you have a single, human-readable text file of your config and if you make a complete hash of it you can always play that all back in again. Or, if you're being sneak
  11562. y, you can try editing the dump file to achieve the configuration you want and then play that back in. 
  11563. **Shurely shome mishtake
  11564. *Notice, as you stagger through the maze that opens around you once inside the netsh command line (it truly qualifies as its own little world), that the information you need to understand what netsh is actually for comes from some oddities in the error reporting. While scouting around for the source of a problem with static routes in a network with several subne
  11565. ts, I happened to type 'netsh routing ip show persistentroutes' and the error message this precipitates is shown in the screenshot above of my machine - which, like the server I was working on, is indeed not installed with RRAS (Routing and Remote Access Services). 
  11566. **Netsh doesn't concern itself with what workstations have been configured for as humble members of a LAN; it's all about taking control of the central services of all your servers, about having text-file-captured printouts of
  11567.  all the static WINS mappings within your entire domain, showing how many packets your paired Ethernet cards are pushing through your email border router between the DMZ and the internal network. 
  11568. **As such, netsh is the antithesis of Hyena - a text-only, batch mode, offline, syntax-driven utility for defining how your server or servers should work together and for finding out how they're getting on with it. You can read all about this powerful utility in (most likely) more detail than yo
  11569. u ever thought necessary at <A HREF="http://www.microsoft.com/technet/treeview/default.asp?url=/technet/prodtechnol/winxppro/proddocs/netsh.asp" target="_BLANK">http://www.microsoft.com/ technet/treeview/default.asp?url=/ technet/prodtechnol/winxppro/proddocs/netsh.asp</A>. You may judge for yourself how deeply technical this tool is, if like me you believe that size matters and the longer the URL, the more useful its content is likely to be.
  11570. **If you're now sitting thinking, 'Okay, great
  11571.  for huge networks, but useless for me sitting here at home', please join me in a small experiment. There are some neat client-side diagnostics you can get out of netsh that should show you how much of the background infrastructure of your network (according to Microsoft's way of seeing such things) may or may not be present. 
  11572. **Open a command window and type 'netsh' <return> and then immediately 'diag' <return>. You're now in the Diagnostic Context. Type 'ping' and you should see a
  11573.  list, not of host addresses you can ping but of classes of host addressed services you can enquire about. 'Ping DNS', for instance, will look at all the DNS servers in your network setup and try to ping all of them, just from that one command. Remember, you can have a whole gaggle of DNS servers (and, if you've been reading Jon Honeyball's comments on this matter, you should have been adding DNS servers to your Windows 2000 Server network like mad). 
  11574. **Try this from the command line - 'n
  11575. etsh diag ping DNS'. This provides a neat answer to how your machine is configured as far as DNS is concerned, and whether it can see what it has been told to use. Extend that a bit further to 'netsh diag ping ieproxy' and it will tell you whether a proxy is a) defined and b) reachable from your computer. 'netsh -r 'hiscomputer' diag ping ieproxy' will tell you whether 'hiscomputer' can see the proxy server without you ever getting up from your desk.
  11576. **This offers quite a different level 
  11577. of diagnostic capability from using a GUI-based utility. To check whether a proxy is set up and working, you need to be in the Advanced tab of Internet Explorer, and you need a command window open to then ping the proxy address and see if it responds (before getting into the more complicated world of proxies, which might swallow or reject ping packets). 
  11578. **I haven't yet had the chance to fully experiment with the possibilities for this command within a network where people aren't allowed 
  11579. to run command lines themselves, or to change settings in Internet Explorer due to Group Policy restrictions. However, I'll be honest and admit that this is the first time I've been genuinely intrigued by a command-line program since before the advent of the IBM-compatible PC.
  11580. HPSteve Cassidy remote controls his networks using two very different applicationsL
  11581. August 2003X
  11582. 106 (August 2003)i
  11583. Networks
  11584. who think I really need to know about erector spray, clearing my credit records or offshore banking (as if you
  11585. d bank with someone who
  11586. d just spammed you!). 
  11587. The limited scalability and security of SMTP has prompted the creation of newer protocols that go way beyond just shoving mail around the Net, such as secure exchange protocols that just look at bulk mail transfer and synchronised mail databases. However, all this is still to come and for now you
  11588. ll be living with SMTP, POP3 and IMAP4
  11589. , with sendmail as the engine that passes it all around. 
  11590. Begging letters
  11591. After digging through my mailbox this month, I feel obliged to make a plea: if I
  11592. ve reviewed something I
  11593. ve either disliked or found fault with, please don
  11594. t imagine that I
  11595. m going to give it away. All the Unix systems I
  11596. ve covered remain on my hard disk for reference - and no amount of pitiful pleading mail is going to give them a ticket out of Evnull Towers. All other mail is welcomed though: send it to the evnull
  11597. ariseC
  11598. arisenV
  11599. arisesC
  11600. arithmeticU
  11601. arizona
  11602. arm's
  11603. arm-based
  11604. arm-compatible
  11605. arm-only
  11606. arm-stretching
  11607. arm-waving
  11608. armada
  11609. armageddon
  11610. armchair
  11611. armedG
  11612. armitage
  11613. armouryC
  11614. remainedE
  11615. remainingP
  11616. subject
  11617. keeps
  11618. raising
  11619. windows
  11620. dns-less
  11621. dns-returned
  11622. dns-style
  11623. dnses
  11624. unifiedA
  11625. uniformG
  11626. uniform-width
  11627. uniformity
  11628. uniformlyA
  11629. unify
  11630. unifying
  11631. unilateral
  11632. unimaginable
  11633. unimaginative]
  11634. unimaginativelyf
  11635. unimpeded
  11636. unimportantV
  11637. unimpressed
  11638. unimpressive
  11639. unindexed
  11640. uninett
  11641. uninformative
  11642. uninitiated
  11643. uninspired
  11644. uninspiring
  11645. uninspiringly
  11646. uninstallE
  11647. universalB
  11648. hundred-thousand-seaF
  11649. hundredfold
  11650. hundredsb
  11651. hundredth
  11652. hunger
  11653. hungrier
  11654. hungry
  11655. huntZ
  11656. hunt-and-peck
  11657. hunt-the-backup-and
  11658. hunted
  11659. hunter
  11660. hunters
  11661. 1024E
  11662. 1024-bit
  11663. 1024/1200
  11664. 1024/1280
  11665. 1024mb
  11666. 1030V
  11667. 10306
  11668. 104-page
  11669. 1040st
  11670. 1048728192I
  11671. 104ms
  11672. 10500
  11673. 1053V
  11674. 1058V
  11675. 106133.2372
  11676. 10646
  11677. 107.25pt
  11678. 1072807676
  11679. 107541
  11680. 107kb
  11681. 108's
  11682. 1088I
  11683. 10:00:86`
  11684. 10:03
  11685. 10:07:13
  11686. 10:30
  11687. 10base2
  11688. 10baset
  11689. documentA
  11690. ecords set to one particular machine that acts as a mail gateway and forwards the mail on to the appropriate user. 
  11691. Another example would be where sites agree to co-operate on mail handling and introduce a particular address to handle all incoming mail and prevent unauthorised connections to their SMTP port. This is a typical anti-spam measure for blocking the scum of the Internet from hijacking an SMTP port and using it to post drivel and scams to all the world and its postbox. What happe
  11692. ns is that networks are configured to accept only SMTP connections from specified hosts, rejecting anyone who attempts to mail into the system directly.
  11693. The MX records will point to where mail should be sent to get to that system, which will typically be a spammer-aware SMTP handler that blocks incoming flotsam. But the problem with SMTP is that it was designed in a gentler era when there was trust for others on the Net, so unfortunately it doesn
  11694. t make allowances for the hijacking morons 
  11695. capableA
  11696. capella
  11697. capitall
  11698. capitalisation
  11699. capitaliseX
  11700. capitalised
  11701. capitalist
  11702. capitulate
  11703. capsule
  11704. captain
  11705. nightmareC
  11706. nightmares
  11707. nightmarish
  11708. nightprint
  11709. nights
  11710. nightwatch's
  11711. nikkor
  11712. nikoleJ
  11713. nikon
  11714. nikon's
  11715. nikontech-usa
  11716. nimda
  11717. nimda-infected
  11718. nimmo
  11719. nindex
  11720. obviousA
  11721. frustratedF
  11722. frustratingY
  11723. frustratingly
  11724. frustrationq
  11725. frustrations
  11726. fry's
  11727. frying
  11728. fs108
  11729. fs2000
  11730. fs4000us
  11731. fsbusiness
  11732. fsckD
  11733. fsdst
  11734. fsecure
  11735. fseek
  11736. fsinfo
  11737. fsizze
  11738. fsm726s
  11739. fsmooth
  11740. fso-compatible
  11741. fspectrum
  11742. fssrc
  11743. fsstayontop
  11744. fstep
  11745. fsutil
  11746. lownJ
  11747. full-colourd
  11748. experimentationE
  11749. experimentedI
  11750. experimenters
  11751. experimentingM
  11752. experimentss
  11753. expert_
  11754. expert's
  11755. expertiseK
  11756. expertsH
  11757. expertware
  11758. expired
  11759. e sometimes wondered how Unix systems know where to send mail that isn
  11760. t destined for a local user. In a simple system, this information can be hardwired so, for example, in one office I work from, all the mail - be it from sendmail or mail clients - is sent to the central mail server. The central server contains all the local mail knowledge and decides whether a message is held locally or forwarded on; there
  11761. s no name service used (for various good reasons). Once you venture out into that
  11762.  vague cloud of connectivity called the Internet, the situation becomes more complex - and this is where DNS (and its MX records) come into the picture. 
  11763. If an MTA doesn
  11764. t know what to do with a mail, it can ask DNS where it should send it. DNS will then send the message to the 
  11765.  record for the target host which will say, 
  11766. If you want to send mail here, send it to this IP address
  11767. , even if it isn
  11768. t necessarily the same machine. For example, all hosts in an intranet could have their MX r
  11769.  problem, where a MIME mail message may contain megabytes of multimedia content. By using IMAP4 though, you can look at the mail on the server and only pull it down to your system when you want to read it; it still stays stored on the server. 
  11770. IMAP4 is more ambitious than POP3, as you can configure it to handle newsgroups and private mail discussions far more elegantly fashion than mailing lists and Usenet/NNTP style distributions. This is why a lot of intranet software developers are con
  11771. sidering it as an alternative approach to distributed groupware. IMAP has its own Web site (www.imap.org) which is run by the University of Washington where IMAP was developed. This site contains documents about IMAP4, comparisons with POP3, definitions and specifications, and an index of products that support IMAP4. 
  11772. The weakest link
  11773. One fly in the ointment is that IMAP4 still relies on SMTP for mail delivery, and SMTP is still the weakest link in the chain. Let me explain...
  11774. You may hav
  11775. definingF
  11776. definiteS
  11777. definitelyB
  11778. degreesP
  11779. addressedF
  11780. addressee
  11781. addressentries
  11782. addressentry
  11783. addressesA
  11784. ed a need for remote users to connect to a system and collect their mail without being given shell access, and without having to run a mail program on the server. SMTP is unsuited to such a purpose though, because it can only push mail to another host, and despite the efforts of many clever people, you can
  11785. t build a reliable SMTP delivery system for dial-up users.
  11786. A modern Net application such as Netscape Communicator is set up to retrieve mail from a POP3 server by sending the user
  11787. s POP3
  11788.  username and password; it then grabs back all the mail being held for that user. However, it does use SMTP to send mail, because POP3 only supports mail receiving. You
  11789. d be forgiven for thinking that this sounds like a dreadful hack-up, but it does work. 
  11790. Even so, there are alternatives. IMAP4 is a more powerful way of managing mail remotely, allowing users to manipulate their mail on a remote server without having to pull it down onto their local system. This gets round the 
  11791. massive mail
  11792. ritlabs.com" target="_BLANK">www.ritlabs.com</A>), will display HTML content if you ask it to, but won't connect to any third-party servers to download images or whatever. You are, however, still at the mercy of an itchy clicking finger, because links remain live so the average user is still vulnerable to 'semantic attack', a phrase coined a few years ago that sadly seems to have fallen out of use. Sadly, because if more people understood how such an attack is framed and the damage it can 
  11793. do, a little more thought might be given to the way email is handled security-wise. 
  11794. **A semantic attack relies on our instinctive desire to attach meaning to any content placed before us. Human nature inclines us toward believing what we are told, especially if we think it comes from someone in authority. This is the basis for spam hoaxes - these can be a nuisance, but are only damaging when coupled with instructions to delete system files. However, the Internet's 'something for nothing'
  11795.  culture can be exploited to make a truly dangerous trap. 
  11796. **So it was that I found myself at the office of a prospective small business client, which proved that a little bit of knowledge is a very dangerous thing. The firm had been having trouble with web browsing - highly problematic, given that its business was largely research led. Its default home page kept changing to that of a rather suspicious-looking site offering software for sale at prices way too low to be genuine, and its pr
  11797. oprietary search system had been hijacked by another of a far less salubrious nature. 
  11798. **It was obvious to me that the system integrity had been breached. When I asked if there had been any other problems such as an unexpected increase in spam, subscriptions to mailing lists that hadn't been made by the small staff (three people), or slowing down of the system for no apparent reason, I wasn't too surprised to hear they had indeed suffered all these. A quick look into the setup revealed th
  11799. at the only firewall was the XP software default, Internet Connection Firewall (ICF). The boss, a computing enthusiast, had been assured by friends and colleagues that was all he needed to protect his network from the dangers of the outside world. 
  11800. **'After all,' he explained, 'it's not as if my little company is of any interest to hackers, is it?' What he didn't appreciate is that his little company is of great interest. Any network with an Internet connection and little protection will 
  11801. attract hackers like flies to the smelly stuff, but there's also the small matter of company accounts being stored on the network, potentially enabling business identity theft, not to mention their computing resources that could be pressed into illegal activity by a Denial-of-Service hacker. 
  11802. **The dangers are plenty, the solution simple, yet even this self-confessed enthusiast hadn't merely missed the boat but had jumped into the water with rocks in his pockets. My only surprise was that
  11803.  it had taken so long for him to suffer the inevitable consequences of such a lax approach to Internet security. It turned out he had only recently installed a new XP Pro-based system, the guv'nor taking it upon himself to specify, source and install it all himself - 'Why waste money getting somebody like you in to connect a few cables and configure a few bits of software?' Ahem.
  11804. **Not that XP ICF is a total crock; it just doesn't go far enough to be adequate protection on its own, even f
  11805. or a single computer connected to the Internet. The reason is simple: it doesn't offer any protection against rogue, outbound traffic. While it can keep intruders at bay, if you've not smelled the RAT (Remote Access Trojan) that has just been installed on your system and is sending data out to anyone with the appropriate control client, then neither will ICF. 
  11806. **I hate to say this - because it's always good to see Microsoft taking steps towards making its OS and apps more secure - but my 
  11807. honest opinion is that ICF needs either upgrading to do a lot more, or doing away with. Yep, I'd rather see no protection at all than poorly implemented protection that lulls users into a false sense of security. When users think they're safe, they adopt a more reckless approach to online activity; however, when they know they're vulnerable, they take a great deal more care over file attachments, HTML links and suspiciously generous download opportunities. It all goes back to that core hum
  11808. an-nature argument that enables semantic attacks to work so well. 
  11809. **My newly engaged client had, in just over two weeks of system usage, been totally compromised by a combination of poor physical security and a lack of any acceptable use policy or even user guidelines. 'They're sensible people', I was informed, 'They don't need to be patronised or hand-held'. Yet, they'd merrily been clicking on HTML links leading to potentially useful research sites, so they thought, but all the while d
  11810. ownloading VBS scripts that were hijacking the Microsoft IE home page by simply changing the HKEY_CURRENT _USER\Software\Microsoft\ Internet Explorer\Main\Start Page entry in the system Registry. The reason they couldn't permanently change it back, despite the boss trying to every day, was that this script lived in their Startup folder to ensure pervasiveness. 
  11811. **A little bit of training for the boss and his staff could have prevented the initial downloading, as well as the subsequent ope
  11812. ning, of the VBS attachment (or possibly ActiveX script). A software firewall such as the PC Pro A-Listed ZoneAlarm Pro is capable of blocking such attachments, isolating them using a quarantine function that makes it clear that opening the attachment could be dangerous. ZoneAlarm (<A HREF="http://www.zonelabs.com" target="_BLANK">www.zonelabs.com</A>) or Outpost (<A HREF="http://www.agnitum.com" target="_BLANK">www.agnitum.com</A>) are now very stable and mature products, in my experience
  11813. , and certainly preferable to the XP ICF offering. Not only would they both have prevented the home page hijacking problem, they'd also have prevented the RAT infestation, which I revealed by doing a quick online system scan using the free Panda ActiveScan service (<A HREF="http://www.pandasoftware.com/activescan/com" target="_BLANK">www.pandasoftware.com/activescan/com</A>). 
  11814. **Their system was equally lacking on the anti-virus front, although once again Mr Littlebitofknowledge assumed e
  11815. verything was okay because there was an anti-virus scanner installed. Unfortunately, this was a freebie from a cover CD that had never been registered or upgraded to the pro version for commercial use and consequently never updated, so less useful than a chocolate teapot. Regular readers will know I'm an advocate of Sophos Anti-Virus (<A HREF="http://www.sophos.com" target="_BLANK">www.sophos.com</A>) because, while it isn't the cheapest solution, you get what you pay for - and, in this ca
  11816. se, you're paying for support and security. Virus identity files are released as soon as a new threat is established, with an email notification sent and installation of the IDE files required to update the scanner just a click away. 
  11817. **Just as important, if you ever get virus-infected, there's a human on the end of a telephone line 24 hours a day, and they'll hand-hold you through the process of disinfection. That's something my new client would have found invaluable, and would have save
  11818. d a fair amount of money compared with my consultancy fee for sorting all this out at such short notice. By the time I'd finished, the company was equipped with a decent, low-cost, but perfectly serviceable router to provide NAT protection, backed up by a software firewall to deal with any Trojan/malware activity from within, plus anti-virus software fully registered (and the importance of regular updating drummed in). It took little more than 15 minutes to devise an acceptable-use policy 
  11819. covering system integrity matters as well as the more obvious (worryingly absent previously) formalities over what uses of company resources are and aren't allowed under contract-of-employment terms. I threw in a 15-minute pep talk and training session for free - it was only common sense after all. 
  11820. **The copycat URL
  11821. *One of the problems revealed by this anecdote is that fake URLs are often used in semantic attacks. Spammers and hackers are neither stupid nor technologically inept, and th
  11822. ey've known how to spoof URLs for years. The sad thing is that they're still doing it and punters are still falling for it - on the whole, people have absolutely no idea how a URL does what it does and are happy that it just takes them to some website. 
  11823. **I'm not suggesting that everyone needs to read RFC1738 (<A HREF="http://www.faqs.org/rfcs" target="_BLANK">www.faqs.org/rfcs</A>), although PC Pro readers might benefit from understanding the specification that defines the URL scheme. Th
  11824. e first thing to understand is that an URL is a 'uniform' resource locator, so although most people associate it solely with websites it can  address a much wider range of Internet resource types. Read that RFC, and you'll realise that an URL consists of a protocol name, a colon and then a string that gets parsed according to the particular protocol being used. In the case of a web page, the full Common Internet Scheme takes the form //<user>:<password>@<host>: <port>/<url-p
  11825. ath> with only the host section being obligatory. 
  11826. **Not all web servers support URL requests in decimal format, demanding instead fully qualified domain names from the client (in the case of a virtual server setup, for example), but the vast majority do. This leaves a huge security hole just waiting to be exploited by a semantic attack on an unsuspecting user. You can't blame the average user for taking links at face value, especially when they don't understand the full URL that appears 
  11827. in the browser address bar - these days we're used to seeing all sorts of convoluted and meaningless strings being served up on the fly from some clever back-end database. This only adds fuel to the fire, making it ever easier for those with malicious or criminal intent to exploit our trust and confusion. 
  11828. **The very fact that URLs are easy to read - and even easier to misconstrue - makes for a potentially serious cultural issue that needs to be addressed before the problem will go away. 
  11829. This isn't something that can be solved with a Microsoft IE patch (Microsoft itself has fallen victim in the past to people passing URLs off as pointing to the Microsoft Knowledge Base when they didn't), but rather requires an educational fix. If you embed a carefully constructed-to-mislead URL into an HTML email message and make sure the link is further concealed by using the anchor tag to display different text (maybe some URL the reader would expect), a good percentage of busy folks wil
  11830. l fail to absorb the real URL that pops up as a mouseover - and even if they did absorb it, it still contains the real URL string to further convince your subconscious of its authenticity.
  11831. **So how do you spot such frauds? By understanding how they're constructed. Store that information in your brain and there's a much better chance that you'll not be fooled by the fakers - a mental alarm will go off every time something doesn't look quite as it should. Believe me, I've tried this out on 
  11832. numerous people and once they understand the fake-URL concept they spot them easily enough. Any URL containing the @ symbol should hoist your red flag and demand further investigation - here's the 'science bit' that explains why.
  11833. *There is, even among old hands, still much confusion about URL structuring and usage, which is why spammers, malware distributors and criminals out to actively defraud have been able to exploit the knowledge gap to their advantage. In the case of web spoofing, th
  11834. ey exploit the fact that any text placed before a @ symbol within the URL gets treated as a password for the website in question. The clever bit is that if the website referred to after the @ doesn't actually need a password (which the fraudulent site most certainly won't), the text just gets ignored and your browser happily sucks in the site as specified in the rest of the URL. For example, the URL <A HREF="http://www.pcpro.co.uk@3639555432" target="_BLANK">www.pcpro.co.uk@3639555432</A> 
  11835. actually points to Google rather than the PC Pro website. 
  11836. **Here's why. A simple lookup at SamSpade (<A HREF="http://www.samspade.org" target="_BLANK">www.samspade.org</A>) reveals that <A HREF="http://www.google.com" target="_BLANK">www.google.com</A> resolves to an IP address of 216.239.53.104, and armed with this information you can pop off to Geektools (<A HREF="http://www.geektools.com" target="_BLANK">www.geektools.com</A>) and use the dotted-quad-to-decimal conversion calculator t
  11837. o obtain Google's decimal address as 3639555432. If you're feeling truly nerdish, do these calculations yourself by applying the formula  (216*224) + (239*216) + (53*28) + 104, or (216*2563) + (239*2562) + (53*256) + 104 if you prefer. How you arrive at the magic number is irrelevant, but once you have it you can use it to point a web browser at the site in question in a way few will recognise. 
  11838. **Net Guru
  11839. *Every now and then, I get surprised by a bit of software sent to try out. Such was
  11840.  the case when the people at Atomica sent me a copy of their GuruNet (<A HREF="http://www.gurunet.com" target="_BLANK">www.gurunet.com</A>) product. At first, I wasn't that impressed, as it appeared to be little more than a mini-meta search engine wrapped up in a fancy IE-based skin and costing money, whereas the search engines it contained could be queried free of charge. 
  11841. **Indeed, if all you wanted was the search capabilities of Google (<A HREF="http://www.google.com" target="_BLANK">w
  11842. ww.google.com</A>), AltaVista (<A HREF="http://www.av.com" target="_BLANK">www.av.com</A>), Teoma (<A HREF="http://www.teoma.com" target="_BLANK">www.teoma.com</A>) and All the Web (<A HREF="http://www.alltheweb.com" target="_BLANK">www.alltheweb.com</A>), you'd be silly to cough up the requested $35 (
  11843. 22) for a GuruNet licence. However, it comes into its own when you either type a keyword into the topic bar or use the <Alt+mouse button> - click over a word in a document, a web page or 
  11844. just about anywhere on your screen and GuruNet will retrieve all the information it can find about that word from numerous sources and present it to you via a tabbed interface that expands depending on what references it has found. You'll get dictionary definitions, thesaurus alternatives, jargon explanations, economic implications, quotes containing the word and encyclopaedia entries. Translations to and from numerous (and configurable) language options, images found online and all the se
  11845. arch engine site are in there too. 
  11846. **Not only is this approach pretty thorough, it's damned quick too. On a broadband link, your results will be back within seconds, and dial-up users won't wait much longer. I like it a lot and use it a lot. There's a small toolbar search facility that sits hidden at the right-hand bottom screen border for you to click on and enter a search term, and GuruNet is also available from right-click menus, plus the aforementioned Alt+clicks. In other words, it'
  11847. s always where I need it, and that makes me happy. 
  11848. **Some of its thunder might be stolen when Office 2003 hits the streets, because there's a good online reference engine built into the Word Task Pane. Highlight and choose Reference from the right-click menu and the Task Pane retrieves and displays dictionary definitions, thesaurus alternatives and translations. The big question is, do you want everything in one place or are you happy having these online resources scattered around your a
  11849. pplications? Personally, I find I'm using both GuruNet and Office 2003 task pane references almost equally. They refer to different sources and, as a writer, it's always nice to have plenty of options to fill my mental gaps.
  11850. H@Protect your network from the outside world, shouts Davey WinderL
  11851. August 2003X
  11852. 106 (August 2003)i
  11853. Online
  11854. Tom ArahD
  11855. Advanced acrobatics
  11856. When Adobe Acrobat was first launched on 15 June 1993, it was hardly noticed; a decade later, however, and Acrobat 6 is a major event. To appreciate Acrobat's importance, you have to realise that it isn't so much an application as a platform built around a file format: PDF, the Portable Document Format. And to understand what makes PDF so special, you need to understand where it came from - namely, out of Adobe's work on PostScript.
  11857. **PostScript is a PDL (page description language) that p
  11858. nearlyE
  11859. neat-looking
  11860. pagesC
  11861. consequencesG
  11862. consequent
  11863. consequent-improved
  11864. consequential
  11865. consequentlyG
  11866. conservation
  11867. conservatism
  11868. conservative
  11869. conservatively
  11870. conserve
  11871. consett
  11872. stereoE
  11873. stereo-3d
  11874. stereo-style
  11875. stereotypical
  11876. sterile
  11877. sterlingi
  11878. stingb
  11879. stingy]
  11880. stirred|
  11881. stitchingw
  11882. stockD
  11883. stockso
  11884. stolenG
  11885. stones
  11886. stonesI
  11887. stonking
  11888. stooda
  11889. stopB
  11890. stoppedC
  11891. stoppingC
  11892. stopsK
  11893. storageB
  11894. storeB
  11895. store'so
  11896. storedB
  11897. /sendmail, also nicknamed 
  11898. sendmail heaven
  11899. . It will point you at sources and resources, and there
  11900. s a natty little CGI page that will let you enter basic sendmail configuration information from which it will produce the 
  11901. sendmail.cf
  11902.  file; this is the setup and control file for sendmail. Finally, there
  11903. s also the official sendmail page, www.sendmail.org
  11904. Sendmail is capable of much more than just supporting SMTP to transfer mail, including UUCP support for the less TCP/IP-enabled systems. 
  11905. ve even seen sendmail configured to move mail by copying it onto a floppy disk, which was then conveyed by foot to another network, sucked in and delivered. Sendmail guruship is a hard-earned qualification, and I myself am just a mere dabbler in this blackest of Unix arts.
  11906. At this point you might be wondering about POP3, the Post Office Protocol. Another acronym associated with Unix mail, POP3 enables remote clients to pick up their mail. As the influence of the Internet spread, it spark
  11907. scannersD
  11908. scanningm
  11909. scanregw
  11910. scans
  11911. scansoft
  11912. scant
  11913. scanurl
  11914. scapegoat
  11915. scarceV
  11916. scarcely
  11917. scarcer
  11918. scare
  11919. scaredA
  11920. scaremongering
  11921. scaremongers
  11922. scares
  11923. scargill
  11924. scarier
  11925. scariest
  11926. scarily
  11927. scarlet
  11928. scarsF
  11929. linesE
  11930. lingo's
  11931. absolutelyB
  11932. absolutesolutions
  11933. absolutist
  11934. absorbG
  11935. absorbed~
  11936. abundance
  11937. abuseP
  11938. abused
  11939. abuser
  11940. abusers
  11941. abusing
  11942. abusivec
  11943. rightD
  11944. associatedA
  11945. associatedtype
  11946. associatesI
  11947. associating`
  11948. associationa
  11949. nyms crops up: SMTP (simple mail transfer protocol), which defines a way for MTAs to exchange mail. It assumes that a designated TCP/IP port, 25, will respond with a simple text-based protocol to pass on a mail message, and that this protocol is SMTP. 
  11950. The MTA that sees the most use on Unix is sendmail, a topic on which entire books can and have been written. Sendmail is the cryptic programmer
  11951. s cryptic program, but if you can master it, it allows you to do numerous clever things with mail
  11952.  routing. The definitive book on sendmail is sendmail, 2nd Edition (ISBN 1-56592-222-0, Pub O
  11953. Reilly) by Bryan Costales and Eric Allman (the author of sendmail), which covers everything you could ever need or want to know about sendmail. Spanning 1,050 pages, this tome gives you an idea of the complexity of sendmail is and its power - indeed, there are consultants out there who are successful and yet specialise in nothing else. 
  11954. For on-line sendmail resources, go directly to www.jensen.com
  11955. invisiblyE
  11956. invitation
  11957. invitations}
  11958. inviteY
  11959. invitedt
  11960. invitesx
  11961. inviting
  11962. invocation
  11963. invocations
  11964. invoiceT
  11965. invoiceno^
  11966. invoicesT
  11967. invoicing
  11968. invokes
  11969. invokeattr
  11970. invokedD
  11971. mailF
  11972. guttA
  11973. gutter
  11974. gutters
  11975. guv'norG
  11976. guy's
  11977. guysO
  11978. gvox's
  11979. gwbert
  11980. gx-font
  11981. gxexplorer
  11982. gymnast
  11983. gymnastics
  11984. gymraeg
  11985. h>y
  11986. h0230z/a
  11987. h1>y
  11988. h1000
  11989. queriedG
  11990. queriesY
  11991. queryB
  11992. querying
  11993. queryrow
  11994. queryserver
  11995. querystringS
  11996. ithout a lot of ancillary work, it isn
  11997. t really scalable anyway.
  11998. Enter the @ 
  11999. s at this point that the @ sign arrives on the scene. A mail address such as sheridan@babylon5 simply tells you this message is destined for user sheridan on the machine babylon5. Easy enough just saying it, but putting it into practice demands two separate pieces of software: an MTA and an MDA. 
  12000. An MTA (mail transport agent) knows how to move mail between systems, while an MDA is a mail delivery agent for a 
  12001. local Unix system. (Ironically, the latter is the mail program I mentioned earlier, because all it needs to know is how to deliver mail locally.) If a mail message is destined for a local user, the MTA hands it straight to the MDA, addressing it appropriately.
  12002. Alternatively, the MTA will work out the start of a route to the mail
  12003. s remote destination and send it on to another MTA running on another machine, which will then repeat the process. This is where one of the more familiar mail acro
  12004. Paul Ockenden and Mark NewtonD
  12005. Up the Amazon
  12006. Some products are launched in a blaze of glory and lights. Microsoft products might even come with a soundtrack by David Bowie or The Rolling Stones. At the other extreme, we have the so-called 'soft' launches. No lights, no music, no drinks. In fact, no party at all.
  12007. **One of the quietest product launches recently must surely have been Amazon bringing its Web Services technology over to the .co.uk website.  Web Services were launched on the US-based Amazon.com site in July last year as a
  12008. rogrammatically describes the contents of any printed page - including all vector graphics, bitmaps and fonts - so running the same code on any PostScript-enabled device will produce the same resolution-independent output. It's this programmatic nature that ensures designers can proof the same page layout on their PostScript laser printer as will be output on their bureau's imagesetter. Ten years ago, PostScript and its standalone EPS (Encapsulated PostScript) file format were already esta
  12009. blished as the underlying architecture for commercial printing, but Adobe realised that a PDL could be useful for more than just print. 
  12010. **However, there was one major problem: look inside a PostScript file and all you'll see is reams of code - or, at best, in the case of EPS, a crude bitmapped preview. To fulfil its potential, Adobe needed to make PostScript viewable on screen. In fact, that was always the intention, but Adobe failed to persuade OS developers - with the exception of Stev
  12011. e Jobs' ill-fated NeXT - to license its Display PostScript technology, because it was expensive and too processor-hungry. Adobe's stroke of genius was to rework the print-orientated PostScript format into a superset of its functionality, optimised for on-screen viewing and compressed to within an inch of its life. This was PDF, a 'distilled' version of PostScript. 
  12012. **And that describes how PDF files were created: central to early versions of Acrobat was (and still is) Distiller, a utility
  12013.  that takes a PostScript print-to-disk file and converts it to PDF. In other words, PDF is created by printing the document into a viewable file. These days, Distiller can be bypassed, but the process is still built upon print-based output. 
  12014. **This may be an awkward way to go about producing files, but it's the secret of Acrobat's success, since all applications can print and hence can produce PDFs - exact electronic replicas of their printed output. This PDL-based universality is unique 
  12015. and was important in the early days of Acrobat, when incompatibility between platforms and applications was strangling the development of business computing. Acrobat's initial raison d'
  12016. tre was to act as computing's lingua franca, a universal middleman (as suggested by Acrobat's juggler logo) that enabled office computer users to collaborate whatever their platform and application. These were the heady days of the imagined 'paperless office'. 
  12017. **As it turned out, the arrival of the Intern
  12018. et and the ever-increasing dominance of Microsoft Office and the PC combined to remove most of the problems that Acrobat was designed to solve. The technology might well have fizzled out were it not for the release of the free Acrobat Reader program, which, at a stroke, transformed PDF into a capable publishing format - authors could provide free-to-view, electronic versions of previously printed material at virtually no cost to themselves.
  12019. **The PDF-based software manual was born, forcin
  12020. g more users to install the Acrobat Reader, which encouraged more PDF publishing and so on...
  12021. *PDF became an important publishing medium in its own right, but it never actually reduced the need for traditional paper-based publishing - and there it had another obvious role to play. As a universal single-file format that can contain all images and fonts - and which, crucially, is based on PostScript - it's the natural medium for designers to deliver their commercial print work for output. It
  12022. 's ideal for the bureaux too, as they only need to support one master application rather than every release of every possible publishing application. 
  12023. **It's almost impossible to over-estimate the potential of PDF for the designer during the proofing/review process, as a final published electronic product and as the digital master for commercial print. However, there's a big difference between the drawing board and the real world, and the early Acrobat needed to change radically to begin 
  12024. delivering on this dream. That's exactly what it has done with each release and update to the PDF file format.
  12025. **For collaborative working, the breakthrough version was Acrobat 3, which bundled the previously separate Exchange and Distiller programs and provided everything needed to take full advantage of the PDF format, including the Post-it Note-style commenting capabilities we all know. Version 4 added a bunch of new commenting tools and the Annotations panel for easier review, but its
  12026.  main advance was the introduction of encryption to ensure secure collaboration. Version 5 rethought the workgroup review process by enabling efficient browser-based access to a single, centrally held master.
  12027. **Version 3 was also the seminal release for those authoring PDFs as their end product, as it showed how electronic publications could offer more than their paper equivalents. The Link tool made it possible to set up basic navigation within a document, while the Form tool took this i
  12028. nteractivity further. The Sound and Movie tools even let you link to WAV audio and AVI video files, giving your work a multimedia edge. Version 4 added little to Acrobat's authoring capabilities, but version 5 introduced content tagging, which was useful for preparing layouts that could be reflowed - essential for handheld viewing on the new Pocket PC Reader. To further enhance Acrobat's eBook role, Adobe also added a secure mechanism through which authors could charge for their publicatio
  12029. ns with the dedicated Content Server software.
  12030. **Surprisingly, despite its suitability, Adobe hadn't intended PDF to be used for producing commercial print - that was PostScript's job. Hence, the early Acrobat only supported RGB colour - it was only later that the crucial CMYK and 'Device N' support for other colour models such as spot and hi-fi colour were added. Further improvements were Acrobat 4's support for PostScript Level 3 and ICC-based colour profiles and version 5's introductio
  12031. n of the shared ACE (Adobe Colour Engine) and transparency handling.
  12032. **By the launch of version 5 in April 2001, Acrobat had changed out of all recognition, but no-one would claim that it was an unqualified success. Collaborating via PDFs still boiled down to the digital equivalent of covering the page with sticky notes and passing it on. PDF still offered little more than an electronic replica of printed output, with the huge drawback that no-one enjoys reading on-screen. Plus, for comme
  12033. rcial print its lack of colour separations and preflighting meant the user either had to turn to expensive third-party plug-ins or cross their fingers. The underlying technology might be unbeatable, but the bottom line was that trying to make sense of an annotated PDF was a chore, trying to read a PDF manual was a pain and trying to produce commercial print via PDF could  still be an expensive nightmare.
  12034. **Does 6 deliver?
  12035. *Expectations were therefore high for Acrobat 6, but my first impre
  12036. ssion was disappointment, because the only hard information provided amounted to a few press releases pushing two cosmetic changes related to Acrobat's office-centred use. The application has been split into four versions: Adobe Reader for free viewing; Acrobat Elements for corporate use; Acrobat Professional for high-end designers and Acrobat Standard for everyone else. Second, creating PDFs has been made simpler. Yes, being able to select the new 'Convert to PDF' command from a DOC file 
  12037. in Windows Explorer is more convenient, but the underlying process is still fundamentally the same - the command simply opens the file in Word, where the PDFMaker macro takes over to distil the document. 
  12038. **Convenience isn't to be sneered at, however, as the new collaboration features in Acrobat Standard and Professional show. Acrobat is stuck with its Post-it-Note approach to annotation, because the whole point of PDF is that it shows a fixed representation of the page layout, but the ne
  12039. w tools, review management and especially the redesigned Comments panel certainly make this process much smoother (see issue 105). I'm still not convinced the office users at which Acrobat Standard is aimed wouldn't be better off using Word's own review capabilities, as these allow suggestions to be automatically incorporated. For designers, though, Acrobat's page-layout based commenting system has always been invaluable for speeding up the proofing process, and Acrobat 6's major overhaul 
  12040. will be especially welcome when deadlines are tight.
  12041. **The main benefits for the designer arrive in Acrobat Professional, aimed at commercial print production, so my first move was to load up Distiller and see what new power was available. I was surprised to find that the highest 'Press Quality' preset still defaults to Acrobat 5/PDF 1.4 compatibility. 
  12042. **However, by forcing the compatibility setting to Acrobat 6/PDF 1.5, I was able to discover a couple of new features - notably support 
  12043. for greater object-level compression and JPEG2000 image compression - but while slightly smaller file sizes are welcome, they're hardly revolutionary.
  12044. **I thought I might have found the new power I was seeking in two new Acrobat presets enticingly named PDF/X1a and PDF/X3. There's a whole new tab in Distiller's PDF Settings dialog dedicated to handling PDF/X features such as the document's TrimBox, MediaBox, and BleedBox and trapping, but in fact none of these features are new, since both
  12045.  PDF/X presets output to the Acrobat 4/PDF 1.3 format. In fact, the PDF/X1a and PDF/X3 presets are simply codified standards for CMYK and colour-managed prepress exchange respectively - ideal for handling adverts.
  12046. **Distiller 6's PDF/X support demonstrates not Acrobat's new power but its new concern for quality control, which is even more apparent in the main Acrobat Professional application. Previously, Adobe took no interest in the quality of your PDF master: if there was an RGB image m
  12047. ixed up with the CMYK images or a low-resolution image, that was your problem and you'd only find out about it when your print-run arrived. Now there's a Preflight command that checks your file in exhaustive detail, listing all potential problems.
  12048. **Preflighting is essential, but by far the most important check of all is to output the colour separations yourself for proofing. Bizarrely, this wasn't possible in Acrobat 5 without using expensive third-party plug-ins - fine for the bureau, b
  12049. ut beyond the reach of the average user. There were workarounds - such as outputting each page from Acrobat as an EPS and separating those, or even pre-separating your files and sending publications composed of separate cyan, magenta, yellow and black pages - but clearly this went against the whole principle of the streamlined composite PDF workflow. Now, at last, you can output separations to any PostScript device and, even better, preview each plate on-screen.
  12050. **Acrobat 6 is a major ste
  12051. p forward in terms of collaboration and commercial print, but by exploiting power that was already there rather than through new functionality. It's a sign of Acrobat's increasing maturity, but I was beginning to wonder if there was anything new in the PDF 1.5 format (a feeling reinforced by just a single reference in the Help file). 
  12052. **Producing PDFs as an end product seemed a similar story: the authoring tools for adding value to the final PDF have been augmented rather than revolutioni
  12053. sed. The Forms tool is more accessible and now supports styled text and better JavaScript handling. And, although Adobe doesn't deem it worthy of mention, the much-neglected Movie and Sound tools now support far more media formats, including MP3, MPEG and even SWF, if the user has the necessary players installed. The Tags palette offers more power and can be used to control Acrobat's new screen-reading capability via the new Read Aloud command. In each case, the tools are more powerful, bu
  12054. t I can't imagine that many people using them.
  12055. **In a way, though, that's the point: retrofitting interactivity and multimedia interactivity to an existing PDF doesn't make sense. The place to do it is in the original authoring package, and that's the direction in which Acrobat is moving and where the new power is hidden. The universal nature of Acrobat's print-to-PDF capability has been the backbone of its success, but it only goes so far. A print stream is inherently concerned only with
  12056.  the appearance of a document and all other information is lost. But if you create the PDF directly from the application, this limitation is instantly removed.
  12057. **The first hint of these new, richer PDFs that you can create directly lies in Acrobat 6's support for layers. At the launch, the only indication of this new capability was the provision of PDFMaker macros to enable AutoCAD to produce layered drawings, but it's safe to say that Adobe has other applications in mind. In particular, 
  12058. of course, each of its three main publishing applications - Photoshop, Illustrator and InDesign - make heavy use of layers. For InDesign, and to a lesser extent Illustrator, the benefits of being able to hide and display PDF-based layers are fairly obvious, such as the ability to include different language versions in the same file. 
  12059. **For Photoshop, though, the use of layers is really only important while editing, and it's here I think the new PDF 1.5's richer structuring capabilities ar
  12060. e truly aimed. For years, Adobe has talked up the benefits of an all-PDF workflow, and each of its publishing applications can now save directly to PDF. However, users have stuck to the native file formats AI, PSD and IND to maintain maximum editability for their original work and the file standards EPS and TIFF for maximum compatibility when it comes to cross-application exchange. 
  12061. **Gradually, though, all Adobe's publishing applications have been converging on this shared and editable P
  12062. DF format and it's clear Acrobat 6 will be another major step on the way.
  12063. **But why stop there? The very fact that Adobe so studiously avoids mentioning Acrobat's new multimedia capabilities piques my interest. I can't imagine many users using the Sound and Movie tools to retrospectively add multimedia to an existing print project, but if the capability is there from the beginning in InDesign it's a different story. 
  12064. **Forget about Acrobat's new Read Aloud command - the average user won'
  12065. t want to listen to Microsoft Sam for long - but how about providing an MP3-based narration alongside the text in a combined Talking/eBook? Or how about adding explanatory Flash animations to your projects? Or what about replacing your publication's screenshots with video walkthroughs? Maybe users will eventually groan when their software manuals are provided on  boring old paper rather than PDF.
  12066. **And why stop there? The beauty of Acrobat 6's new multimedia capability is that it doesn't 
  12067. provide the media player, leaving that to the experts - Microsoft, Apple, Macromedia - and to the end user. The PDF simply acts as an intelligent delivery mechanism, providing the media best suited to the user's current setup. But if it's simply a wrapper, what's to stop Premiere wrapping its sound and video files in a PDF? The record industry is looking for a secure way to add chargeable value to MP3s, and wouldn't you be willing to pay a premium for a PDF album that includes lyrics, phot
  12068. os, videos and so on? 
  12069. **Or what about DVD? These days, DVD specification looks terribly rigid and outdated, and wouldn't it give Adobe's new DVD Encore application a much-needed edge if it could also output projects to a much more modern and powerful media delivery format that automatically adapts itself to the user's playing environment?
  12070. **This vision of PDF as the all-singing, all-dancing, all-encompassing creative file format is pure speculation, and I don't suppose that this generat
  12071. ion of Acrobat will fully deliver on this expanded dream of universality any more than previous versions did. Having said this, I'm sure Adobe is moving in the right direction. With Acrobat 6, PDF both builds on its secure PostScript-based page description foundations and moves beyond them to become an even more powerful, general-purpose design format. Perhaps even the design format.
  12072. HKTom Arah investigates the design potential of the latest version of AcrobatL
  12073. August 2003X
  12074. 106 (August 2003)i
  12075. Publishing/graphics
  12076. ) his mailbox. Deleting a message is.a matter of the mail-reading program editing the file.
  12077. This is true of most Unix mail software: it manipulates a user
  12078. s mailbox file and forwards outgoing mail to the mail-sending program. I
  12079. ve found that the ELM and Pine mail-reading programs tend to enjoy the most popularity, mainly because they
  12080. re character-based and allow people to Telnet into my system to read their mail. But if that
  12081. s Unix mail proper, then what
  12082. s the rest of the stuff people call
  12083. Unix mail
  12084. Well, mostly it
  12085. s software for sending mail between users on different Unix systems. As soon as the need arose for remote Unix systems to exchange mail, that simple write-to-file delivery mechanism was no longer adequate. Remember, this was in the dark days before networked file systems were commonplace, so the simple trick of unifying all the mailbox files into one shared directory then letting all the local machines see that share had yet to be realised - not to say that w
  12086. programmeB
  12087. programmedM
  12088. programmerM
  12089. programmer's
  12090. programmer-defined
  12091. programmer-friendly
  12092. programmer-orientate
  12093. paperlessH
  12094. papersQ
  12095. paperwork
  12096. papyrus
  12097. paradem
  12098. paradigms
  12099. paradigms
  12100. paradise
  12101. paradox
  12102. paradoxically
  12103. paragon
  12104. paragon's
  12105. paragraphA
  12106. parametricv
  12107. paramounte
  12108. paranoiaF
  12109. paranoidB
  12110. parapet
  12111. paraphernalia
  12112. paraphrase
  12113. paraphrased
  12114. paraphrasing
  12115. unsignedA
  12116. unsized
  12117. unsociable
  12118. unsolicitedG
  12119. unsophisticated
  12120. unsortedx
  12121. unsound
  12122. unspeakable
  12123. unspecifiedC
  12124. unspectacular
  12125. unsplitting
  12126. unstableA
  12127. unstoppable
  12128. unstructured
  12129. unstuck
  12130. unsubscribe
  12131. unsubsidised
  12132. unsubstantiated
  12133. unsuccessful
  12134. unsuccessfully
  12135. unsuitable
  12136. unsuitedS
  12137. unsupervised
  12138. unsupportedO
  12139. ethered
  12140. unthinkable
  12141. unthinking
  12142. tify its status by owning the program file and letting other users read and execute it (but not write to it), and by setting its permissions to include the SUID bit. When the program runs, it can ask to become the user that owns it, so if lorien runs the mail program, providing the mail program is owned by root and has the SUID bit set, it can become root for long enough to write into sheridan
  12143. s mail file. This privilege should be closely guarded though - a badly-written program that makes
  12144.  overly free use of the SUID facility will probably generate security holes (it
  12145. s one of the commonest causes).
  12146. Back to the mailbox, where there
  12147. s a mail message delivered to sheridan. Sheridan can read his mail by running a mail-reading program which looks in the mail folder and turns it into that familiar list of headers and senders folk associate with mail readers. Sheridan
  12148. s mail-reading program doesn
  12149. t need super-user access because sheridan owns (and is the only person with access to
  12150. suggestionsH
  12151. suggestive
  12152. suggestsE
  12153. pdfmakerH
  12154. pdfoutput
  12155. pdfsH
  12156. pdfwriter
  12157. pdfzone
  12158. pdl-basedH
  12159. pdp11
  12160. pdqmail
  12161. pdqweb
  12162. peace`
  12163. peaceful
  12164. peacefully
  12165. peacemaker
  12166. peach
  12167. peacock
  12168. peculiarity
  12169. pedal
  12170. pedantic
  12171. pedantically
  12172. peddling]
  12173. pederson
  12174. peekZ
  12175. peekingA
  12176. peeled
  12177. peerL
  12178. peer-based
  12179. peer-to-peerm
  12180. peerid
  12181. peering
  12182. peerless
  12183. peersC
  12184. peg-n710
  12185. peg-n710c
  12186. peg-n760
  12187. peg-n770
  12188. pegasus
  12189. pegging
  12190. pembrokeshire
  12191. ating system, now long vanished into history). Then the bods at Bell Labs decided to add multiple users to Unix, and naturally they also wanted a facility to send mail between those users sharing the same system. 
  12192. Their chosen solution was simplicity itself: when user sheridan wants to send mail to user lorien, sheridan runs the mail program, citing lorien as the recipient, keys in his message which the mail program then appends to the end of lorien
  12193. s mailbox. A mailbox is no more than a f
  12194. ile owned by its user, readable and writeable only by that individual. These mailboxes typically (but not necessarily) reside in a directory called /var/mail and are named after the user, so lorien
  12195. s mailbox would be /var/mail/lorien.
  12196. So how does one user
  12197. s mail program manage to write to a file owned by someone else? Answer: by using the Unix facility that lets a program take on the attributes of another user, namely the super-user or 
  12198. . The super-user has to mark the program to iden
  12199. becameH
  12200. acrobatH
  12201. acronym
  12202. acronyms
  12203. across
  12204. gives
  12205. latest
  12206. compliance
  12207. issue
  12208. actinic's
  12209. action
  12210. active
  12211. activex
  12212. activities
  12213. activity
  12214. add-ins
  12215. add-ons[
  12216. addiction
  12217. addins
  12218. additionsh
  12219. address
  12220. addresses
  12221. adjudicates
  12222. admin
  12223. administration
  12224. administrators
  12225. admits
  12226. adobe
  12227. adobe
  12228. looks
  12229. future
  12230. might
  12231. adobe's
  12232. adslY
  12233. advanced
  12234. advances
  12235. advantages
  12236. advent
  12237. advertisers
  12238. advice
  12239. advises
  12240. affair
  12241. affect
  12242. affordable
  12243. afterP
  12244. Jon HoneyballD
  12245. Plus DME
  12246. I can't contain my excitement - Microsoft has launched the most important product of the year and it's just turned up at my office on a single CD accompanied by some documentation. Forget Server 2003, Office 2003 and anything else with 2003 in its title. This baby is gonna do the business and will ensure the sort of solid revenue stream and user excitement that every ambitious product manager dreams of at night.
  12247. **I am, of course, referring to the Windows XP Plus! Digital Media Edition (D
  12248.  free facility, allowing developers and website owners to build applications and tools that incorporate Amazon's interfaces and content into their own sites. These services enable your users to search and browse Amazon products and features just as if they were running on the Amazon site itself. The only real restriction is that you must provide 'Buy now' buttons - you can't, for example, show Amazon's reviews of a book without also allowing Amazon the opportunity to sell it to your visito
  12249. rs, which is only fair, as it's trying make a profit.
  12250. **This Amazon Web Services magic is achieved by a set of self-contained applications that can be published and invoked across the Web using XML or SOAP-based protocols. Both methods return the same structured data (product name, author, publisher, price, sales ranking) that you'd find on the Amazon.co.uk site, and you can drill down further by supplying parameters such as keyword search terms and browse tree nodes.
  12251. **The XML and SOAP 
  12252. interfaces enable you to grab product information directly from Amazon's servers and format it in any way you want - if you have a fluffy, pink site, you can present Amazon's books and CDs in a fluffy, pink way.
  12253. **There are two possible income streams from Web Services. First, the scheme runs in tandem with the existing Amazon Associates programme so you make up to 15 per cent on all sales you generate. Amazon isn't just about books and CDs these days - you can start selling anything from
  12254.  cameras to sandwich toasters from your own site using Web Services. 
  12255. *Second, there's an emerging market for people to create systems or services that enable other site owners to plug into Amazon's data. One of the coolest third-party applications we've seen is the 'Yes Bar', which uses the .com rather than the .co.uk Web Services, but what it does is brilliant - it examines the 'now playing' data for thousands of American radio stations and provides a simple one-click opportunity to buy 
  12256. the CD currently being played. Look at <A HREF="http://techno.starcd.com/proto/yesbar-signup.cgi" target="_BLANK">http://techno.starcd.com/ proto/yesbar-signup.cgi</A> for more details.
  12257. **If you want to have a play with Web Services, the first step is to download the SDK, which contains the technical documentation as well as lots of code examples (for both the XML and SOAP interfaces). You'll find it at <A HREF="http://associates.Amazon.com/exec/panama/associates/join/developer/kit.html" 
  12258. target="_BLANK">http://associates.Amazon.com/ exec/panama/associates/join/developer/kit.html</A>
  12259. *Once you've read and digested the documentation, you'll need to apply for a Developer's Token at <A HREF="https://associates.Amazon.com/exec/panama/associates/join/developer/application.html" target="_BLANK">https://associates.Amazon.com/ exec/panama/associates/join/ developer/application.html</A>, which confirms your agreement to the Amazon Web Services terms and conditions and allows you to 
  12260. query the Amazon servers.
  12261. **As soon as you have the SDK and token, you're ready to rock. If you were using the XML interface from ASP, your code might look something like Code Listing One. This example is heavily based on one you'll find in the SDK, but our version searches for one particularly cool book.
  12262. **More on FrontPage 2003
  12263. *We said last month we'd investigate further the data-handling capabilities of FrontPage 2003, and we're keeping that promise. After borrowing a spare box from 
  12264. a colleague, Mark proceeded to install Windows Server 2003, which was released a few days ago. Then he searched the MSDN members area of the Microsoft Developer Network site to find a copy of SharePoint Server 2, which, despite being a server product, wasn't in among previous versions of SharePoint but in the area for Office 11. We're sure there's a good reason for hiding it there, but at a loss to know what. After this 350MB download, SharePoint 2 - which will only run on Windows Server 2
  12265. 003 - was installed. 
  12266. **Configuring it was a bit like walking through a dark wood wearing sunglasses: lots of new terminology and a struggle to guess whether it's the website, the virtual server or the SharePoint server part that needs configuring. It all went without a hitch in the end and so, sitting at the client workstation, Mark fired up FrontPage 2003 and created a SharePoint website using the Wizard. The first thing one notices is that the data option on the menu bar now appears, a
  12267. nd clicking on it opens a data view pane in the design area. From here, you can connect to different data sources, which may be SharePoint Lists or Libraries, database connections, server-side scripts, Web Services and even XML files. 
  12268. **Before continuing, it's only fair to mention that FrontPage 2003 is still in beta. While there were some small problems, it generally worked well. Mark was very impressed with the easy way XML data sources could be 'consumed' and their data formatted.
  12269. To access a Web Service via FrontPage 2003, you simply click on the 'add to catalog' link and give it the URL of the Web Service's WSDL (Web Service Description Language). After a short delay, the properties of the Web Service appear - its name, operations or methods and any parameters they might take. Clicking OK adds this Web Service to your data source catalog pane, and now you can use it by dragging it from this pane onto a page in your site. 
  12270. **The data generated appears preformatted
  12271.  on the page using a default layout, which you can change for one of several others provided, or edit its look just as you would any other object in FrontPage. This works well and produces an XML style sheet that can be edited either by altering code or - more innovatively - from within the graphical design environment. 
  12272. **That's fine for consuming a Web Service, but what if you have an XML file and want to design a XSLT so that it can be displayed in a more attractive form? Again, the te
  12273. chnique is to add the file to your data catalog and drag it to your web page. Mark chose a large XML file of Microsoft bug patches, which was presented as a table with a fixed number of rows with next and previous buttons. The configuration box also offers filtering and sorting of the XML dataset, the result of which could be seen live in the design pane in FrontPage. 
  12274. **When it comes to creating XSLT files for consuming XML data sources, FrontPage rocks. It's a shame it requires such a h
  12275. eavyweight back-end server overhead as Windows 2003 and SharePoint. The reason may be to provide the sort of capabilities that aren't possible with a standard 'web server/HTML' setup, and perhaps we're starting to see a migration to this way of working. In the past, we've had Apple's Web Objects and Macromedia's ColdFusion - now it seems we're going to get Microsoft and SharePoint. This could make for some very interesting design environments supporting fast development, full debugging and
  12276.  XML support. However, because of the costs and complexity, these will probably remain the preserve of the professional, and the divide between what the professional can achieve compared with 'one man and his Dreamweaver' may grow enormously.
  12277. **Mode of the Music Changes
  12278. *Every once in a while in the world of web development and e-commerce, there comes along something new that's of such ground-shaking importance that everyone involved in the industry is forced to sit up and take notice. We
  12279.  make no apologies for repeating news you may have read elsewhere: it's that important. 
  12280. **So what is it, we hear you clamour? What if we said you could go to a website that sold music and preview the first 30 seconds of any of thousands of tracks, then select some and pay 99 cents per track (about 
  12281. 6 for a full CD-worth) using a one-click system. These music tracks aren't protected, so you can use them anywhere. Interested? 
  12282. **If we then told you the company offering this facility was n
  12283. o less than Apple, your interest might increase a little further. But you may think the site would only hold old or obscure tracks with no sign of the latest artists or their albums - a bit like a huge online compilation album - as is so often the case. However, when we tell you that this enterprise is supported by the top music companies - BMG, EMI, Sony, Universal and Warner - and that there are more than 200,000 tracks already available, many of them new artists and albums, you'll start
  12284.  to see how this could easily be the turning point in the way music is distributed. 
  12285. *It's also the first large-scale recognition of music distribution via the Internet by the music companies themselves and paves the way forward for low-cost, legal digital music. Some people will still copy, but by offering a great service at a good price this enterprise hopes to minimise theft. The music is offered only in AAC audio format, based on the industry-standard MPEG-4 format developed by Dolby, 
  12286. which apparently offers better sound quality than MP3 for the same file size.
  12287. **Apple has called this 'life-altering system' iTunes (<A HREF="http://www.apple.com/itunes" target="_BLANK">www.apple.com/itunes</A>). It also has a local streaming technology called Rendezvous that lets you share your music over your network and possibly - as it's rumoured to be TCP/IP-based - over the Internet. 
  12288. **Before you rush out to buy music from the iTunes website, there are a couple of things to bear 
  12289. in mind. Currently, the iTunes system will work only on Apple Macs running OS X, but a Windows version is planned later. Also, the online shop currently works with US billing addresses only, but this will expand as the system develops. 
  12290. **Incidentally, iTunes also offers 'speaking books', a great boon to people with poor sight, via the site <A HREF="http://www.audible.com" target="_BLANK">www.audible.com</A>. As poor-sighted users might be interested in this, Mark tried to navigate using 
  12291. a screen reader that reads web pages to you, but found the site very confusing when browsed this way. Designing websites that can be read by people with disabilities is a hot topic at the moment, as legislation will soon make it compulsory for all official sites. In our experience, it requires a little more thought than just making sure your graphics all have <alt> tags. Download a screen reader like the one from the IBM site (<A HREF="http://www-3.ibm.com/able/hpr.html" target="_BLANK"
  12292. >www-3.ibm.com/able/hpr.html</A>) and try navigating your favourite websites by sound alone, and you'll soon have even more sympathy for those who have to use this form of navigation. 
  12293. **Cookie D'oh!
  12294. *Most web developers will have experimented with cookies at one time or another. Although they're becoming less useful on public-facing sites, due to the proliferation of 'personal privacy' cookie-blocker software, they still have a place on intranets and other 'closed community' systems. The
  12295. y can be used for all manner of tasks such as automated logons, saving user preferences, or even rudimentary shopping basket systems.
  12296. **Cookies come in two flavours  called 'Persistent' and 'Per-session'. Persistent cookies store information on users' machines between visits to a site for a specific length of time. This expiry value is set by the website when it sends the cookie to the browser. Per-session cookies, on the other hand, are only used to store information for a single visit a
  12297. nd are deleted as soon as the session is closed. These non-persistent cookies are frequently used by server-side scripting technologies, such as PHP or Microsoft's ASP, to maintain 'session state'. 
  12298. **Working with cookies from within your web application is easy. Either from server-side or client-side scripts, or even using a mixture of both, simply use document.cookie to set and retrieve values client-side, and response.cookies (ASP) or setcookie and $cookie (PHP). If you need further he
  12299. lp or examples, Google will oblige.
  12300. **The problem most web developers have is with the cookie files themselves, especially Internet Explorer cookies. You'll find your IE cookies in a folder somewhere in your Windows or Documents and Settings folder, the exact location depending on which version of Windows you're running and how it has been set up - search for a folder called 'cookies' containing a load of TXT files. As this file extension might imply, the cookies are held as plain text fi
  12301. les, but their format is quite obscure. Open one up in Notepad and take a look: here's an example from <A HREF="http://www.streetmap.co.uk" target="_BLANK">www.streetmap.co.uk</A>:
  12302. *ValueClickMS5
  12303. *true
  12304. *www.streetmap.co.uk/
  12305. *1088
  12306. *1048728192
  12307. *29559648
  12308. *346684688
  12309. *29559447
  12310. **<p>
  12311. *Although some bits of the data are readable, there's no way you can work out things like expiry dates with the naked eye. The actual fields are as follows:
  12312. *Cookie name = ValueClickMS5
  12313. *Cookie value = true
  12314. *Site na
  12315. me = www.streetmap.co.uk
  12316. *Path = / (note that the site name and the path are concatenated) 
  12317. *Flags = 1088
  12318. *Expires = 1048728192, 29559648
  12319. *Created = 346684688, 29559447<p>
  12320. *This is followed by an asterisk and, optionally, by further cookie values for the same site. The date and time format used within cookie files must have been designed by someone under the influence of mind-bending substances - the first number is seconds to the power of minus seven (really), but things get stranger stil
  12321. l. The (seconds)-7 counter rolls back to zero every 429.4967296 seconds, at which point the second number gets incremented! Equally bizarre, the base time for this second field (ie, when it was last zero) lies in the 16th century... 
  12322. *Let me just repeat that in case you didn't believe it - according to Internet Explorer, time started in the late 1500s and is measured in 7.158278826 minute units. Time for compulsory urine testing at Redmond? 
  12323. **Given the examples above, how many readers ca
  12324. n do the mental maths to work out the expiry date and time of that Streetmap cookie? I'm guessing not too many. There is, however, a really neat (and free) solution available. Pop over to <A HREF="http://www.digital-detective.co.uk/freetools.asp" target="_BLANK">www.digital-detective.co.uk/freetools.asp</A> and download a copy of CookieView. This simple little utility is brilliant. Don't be put off that it looks a bit like a console window - if you drag and drop a cookie file onto it, it w_
  12325. ill decode the contents. From there, you can simply copy the contents into an email, a document, or anywhere else you need to. It's a brilliant, simple tool and worth every penny it doesn't cost.
  12326. HNPaul Ockenden launches his own bookshop, while the earth moves for Mark NewtonL
  12327. August 2003X
  12328. 106 (August 2003)i
  12329. Web Business
  12330. excelB
  12331. excel's^
  12332. excel-alike
  12333. excel-vba
  12334. excel-wielding
  12335. excel9
  12336. excel97odbc
  12337. excelbook
  12338. excelledZ
  12339. excellence
  12340. streetsG
  12341. streffectivedate
  12342. strenc
  12343. strength[
  12344. strength-sapping
  12345. strengthen
  12346. strengthened
  12347. strengthening
  12348. strokesn
  12349. strolling
  12350. strongF
  12351. strong-armingk
  12352. strongeri
  12353. strongestk
  12354. strongly{
  12355. strove
  12356. strpwd
  12357. strsqlo
  12358. strsql2{
  12359. strtag
  12360. strtrack
  12361. struckE
  12362. struct
  12363. structuralO
  12364. structureD
  12365. submitf
  12366. keptE
  12367. kerberos
  12368. kerberos-based
  12369. kernaw
  12370. kernelA
  12371. kernel's
  12372. kernel-hacking
  12373. kernel-hang
  12374. kernel-level
  12375. kernel32
  12376. spareI
  12377. spare9
  12378. sparedl
  12379. sparesb
  12380. sparingly
  12381. spark
  12382. sparkedC
  12383. sparkling
  12384. sparse
  12385. sparsely
  12386. sparta
  12387. spartan
  12388. spate
  12389. spatial
  12390. spattering
  12391. cular
  12392. spectral
  12393. spectrumd
  12394. speculate
  12395. speculatingT
  12396. speculationH
  12397. speculativeY
  12398. speech
  12399. speedC
  12400. calibrated
  12401. calibrates
  12402. calibration
  12403. calibreT
  12404. california
  12405. california-based
  12406. californian
  12407. callB
  12408. space-inefficient
  12409. 16-bitE
  12410. 16-bits
  12411. 16-bits/channel
  12412. 16-byte
  12413. 16-channel
  12414. 16-colour
  12415. 16-fold
  12416. 16-page
  12417. 16-pixel
  12418. 16-port]
  12419. 16-speed
  12420. 16-voice
  12421. 16-way
  12422. 16.5mb
  12423. 16.95
  12424. 16.99
  12425. 16/10/40
  12426. 160-plus
  12427. 1600M
  12428. 1600's
  12429. 16450
  12430. 16550
  12431. 16550a
  12432. 16650
  12433. 166mmx
  12434. 16750
  12435. 168-bit
  12436. 16:52
  12437. space-efficient
  12438. space-hungry
  12439. space-inefficient
  12440. space-saving
  12441. space-time
  12442. space-waster
  12443. ME) add-on. This is a new Plus Pack that's aimed at 'emerging digital lifestyles' among other such egregious marketing concoctions. I can feel you disgustedly backing away from these words and getting ready to turn the page, but please indulge me for a few more sentences.
  12444. **This pack epitomises the modern compelling tool suite, and there's no way I can avoid starting off with its cr
  12445. me de la cr
  12446. me, a treat that alone is reason enough for anyone who doesn't yet have a computer to buy one j
  12447. ust to run it. 
  12448. **I am, of course, referring to the Plus! Dancer application. This breakthrough piece of coding places one of 11 dancing people on your Desktop: their moves are incredible, fluid and quite hypnotic. Naturally, each one possesses not only a name but a potted biography. 
  12449. **For example, Amanda specialises in House music and apparently 'this 19-year-old, full-time college student is also a dancer, coach, choreographer, instructor, business owner and part-time travel consultan
  12450. t. She has been dancing professionally for 14 years, with formal training in ballet, tap, jazz, lyrical, modern, step, cheer and hip-hop. Amanda, who started teaching dance at age 14, is currently a co-owner and artistic director of a dance studio. She is also a dance choreographer for several award-winning cheerleading teams. Amanda was a member of the dance group for a professional basketball team during the 2001-2002 season.' Need I say more?
  12451. **Then there's Cobey who specialises in hip
  12452. -hop, Seth who does B-Boy, and Kenny who loves disco. Chanel is into funk and Ben does The Sprinkler (sounds vaguely rude). Not content with just one dancer? Then why not push the outer envelope of your graphics card performance by having two dancing together? Nikole and Marcelo do Salsa, Evan and Michele like to Tango, and Jen and Dave are masterful at Swing. My mind is just buzzing with the possibilities here, and I feel strangely compelled to go on and tell you more. Apparently, the dan
  12453. cing is supposed to be synchronised to the music, though I'll confess it looked a bit random to me. I guess playing a CD of the music of Tibet, especially the deeply rocking number called 'Singing Bowls of Tibet', might not have helped much. Ah well.
  12454. **But let's move on. The Plus! Photo Story application allows you to take a pile of images and record a voice track over the top. You can even drop in a music background and have the images move slowly around on screen in a desperate attempt 
  12455. to make them more interesting. Naturally, there's a full set of tools to prioritise the various wipes and moves, and once you've created your masterpiece you can output it in Windows Media format for all the family to enjoy. Never before has the humble holiday snap been treated to such a makeover.
  12456. **Since you're no doubt already a big fan of Windows Media Player, the Plus! Party Mode add-on will be a godsend. This allows you to re-skin the Media Player so that it can run full screen. You 
  12457. can also lock down the application so that your friends can select the party music on-screen without getting access to your Desktop - just what the world needs now. 
  12458. **The Plus! Analog Recorder lets you stream audio in from your grandfather's gramophone via your computer's sound card in order to convert all those old-fashioned vinyl LPs and singles into modern Windows Media files. It can even de-scratch and de-hiss these recordings, removing the pops and clicks that such antique technolog
  12459. ies accumulate. 
  12460. **The Plus! Audio Converter lets you convert the formats of your media files. You can't, however, go straight to MP3 without obtaining a third-party encoder, but Microsoft had to leave room for its third-party development community somewhere.
  12461. *You can print labels for your CDs using Plus! Label Maker, wake up to music with Plus! Alarm Clock, fall asleep to music with Plus! Sleep Timer, and spend countless hours fiddling with eight new skins for the Media Player itself.
  12462.  Since by now you'll have become bored with still pictures, despite the stunning new capabilities of Plus! Photo Story, you'll be gagging for the new transitions and effects that plug into Windows Movie Maker 2. And finally, you can enjoy this multimedia bonanza from your Pocket PC PDA by using the Plus! Sync & Go tool.
  12463. **This Plus! DME experience is so overwhelming that I'm now lost for words. Dammit, my sarcasm gland is beginning to hurt, so the truth must be told. Well, I can't deny th
  12464. at Plus! DME is hardly expensive at 
  12465. 15.99, but quite frankly it should have been a free download (Redmond ought to take more notice of the 'digital lifestyle hub' work that Apple is currently doing). 
  12466. **Microsoft should feel deeply ashamed for charging its users - the XP Home brigade one presumes - any money to install this collection of polished but ultimately vacuous distractions. A few parts of the kit are going to be useful and worth having, while others like the dancers are utterly 
  12467. cringeworthy. Is this the best Microsoft can do?
  12468. **MS buys VMS
  12469. *Well, actually, no it isn't. Thankfully, Microsoft does still notice some important trends and needs of real users, and comes up with some truly trend-setting technologies. One that has piqued my interest is its recent acquisition of the Virtual PC technology from Connectix. I've been using Connectix's VPC emulation of the Intel processor for some time on my Apple PowerBook, which lets me open a window and boot any Intel OS t
  12470. hat I want right there on my Desktop. Care to fiddle with Windows XP Home? No problem. Windows Server 2003 as well? Why not. The only limitation is the amount of RAM your real computer contains, because booting full-blown OSes like XP isn't something you can squeeze into a couple of megabytes. It's worth remembering that Virtual PC runs on other platforms too, including Intel itself, so you can run different OSes in virtual machines on your Desktop without the hassle of shutting down and r
  12471. ebooting. 
  12472. **This is a mature technology too. On my Mac OS X installation of VPC, I can control things like the virtualised networking settings, the way it interacts with hardware like USB ports, and how it maps through into the hard disk space both locally and remotely. And now Microsoft has bought it all.
  12473. **The obvious question is 'why on earth would Microsoft want to own a technology that allows you to run virtualised PC systems' when it has always had OSes that just booted on the har
  12474. dware anyway? Well, it's becoming clear that Microsoft has two main intentions with this purchase, and both of them are fascinating.
  12475. **Let's start with the forthcoming Virtual Server product that Connectix has been hinting at and which is in late beta at the moment. This allows you to boot a server OS into a virtual machine running as a task on your existing OS. Microsoft has a real need for this product as there are still a lot of servers out there running NT 4, and the hardware and driv
  12476. er support for NT 4 is now almost frighteningly out of date with the reality of the hardware shipping today. Don't forget that NT 4 first shipped in 1996 and here we are seven years later. 
  12477. **Back then, a 486 was considered amazing and a few of us were pushing the limits with motherboards running twin Pentium processors at 90MHz. Today, we're about to move out of the multigigahertz Xeon world into a new 64-bit arena. Large IDE format was a dream back then, while technologies like Fibre Ch
  12478. annel and Gigabit Ethernet were future fantasies.
  12479. **Given that some of these NT 4 systems are still running happily, Microsoft needs something that permits an NT 4 image to be snapshotted and then run on more modern hardware. It isn't just that the old server was slow, but there's a real problem with driver support and hardware reliability. What are you going to do when something breaks on that old 486-powered server? It's not a nice thought.
  12480. *There's another reason too for Microsoft t
  12481. o want this Virtual Server technology. Given that modern servers can have an almost unlimited amount of power in them, there's a lot to be said for running server services within a virtualised OS that's run over a real base OS. Yes, the base OS will have to simulate the processor that's used in the virtual process, but it can do that very quickly. Being able to move virtual servers around on top of a hardware farm is the ultimate in flexibility. And with the move to standardised and sensib
  12482. le interconnection between server services - thanks to the emergence of SOAP and XML protocols - doesn't it make good sense to virtualise each server service into its own hermetically sealed virtual machine?
  12483. **The second of Microsoft's intentions is equally fascinating. If you're developing an application on your desktop machine - which is probably running Windows 2000 Professional or XP Pro - you might need access to Server running Exchange 2003 or some strange configuration of Internet 
  12484. Information Server mated with Oracle and a big SAP installation. Rather than going out and hitting the hardware itself, why not debug against a virtual machine running within your own machine? This is especially powerful if you want to debug between multiple versions, or even between different OSes. 
  12485. **Microsoft has already demonstrated debugging a Pocket PC application running on Intel's ARM processor on the same machine as the Visual Studio development system itself. It just boots Virtu
  12486. al PC with the right sort of processor architecture in place, then boots a real, standard copy of Pocket PC and squirts in your application for running and debugging. The same applies to a smartphone - boot it and work with the same code base and installation as if you were dealing with a real, physical smartphone, only this one exists here on screen. 
  12487. **I think this way of working is going to have a major impact over the next few years, especially once you realise that the core Windows W
  12488. in32 API is being pushed into the background for the forthcoming Longhorn release of the Windows desktop OS (which is likely to be called Windows 2005). The main run-time and interfaces will all be managed code generated from the Visual Studio .NET development system. 
  12489. **Obviously, not everything is going to be converted to managed code in the next 12 to 18 months, but C++ is deliberately being pushed into the background by Microsoft, and this will be true of all desktop and server apps. 
  12490. Core OS components, especially device drivers, might well need to remain written in C++ or handwritten machine code for some time to come, but the move to managed code promises to deliver a more stable future where applications are deliberately kept separated by the common run-time engine. 
  12491. **Office 2003 bundling
  12492. *One thing has just struck me about the Office 2003 launch. Microsoft has changed its branding style so that everything is now 'Microsoft Office' and then the individual product 
  12493. name. So Word is 'Microsoft Office Word 2003' and Excel is 'Microsoft Office Excel 2003'. Now go and take a look at the Start/All Programs menu. Notice how all the Office XP or Office 2000 applications entries have disappeared? See how there's now a Microsoft Office menu folder and this contains all the application shortcuts? I'm still trying to work out why this has happened. It certainly hasn't happened on a whim, and so there must be some logical reason behind it. Microsoft is obviously
  12494.  trying hard to emphasise the Office suite as an entity and to downplay the role each individual application plays in that space. 
  12495. **I think this is more than some marketing fiddle, but rather the first steps toward a new application framework for Office. The mindset behind it works like this - since each Office application is, to a greater or lesser extent, pushing hard towards an XML future, each application as presented today is subsumed into the role of a focused toolkit within a fram
  12496. ework environment. 
  12497. **Think of the way that Visual Studio .NET works today to get an idea of where I'm coming from with this. You bolt complete compilers, debugging tools and all sorts of other things straight into the VS .NET framework, and the framework provides all the supporting infrastructure required. I think this is the mindset that's going to be applied to Office. 
  12498. **This certainly isn't there today in Office XP and won't be fully there in Office 2003 either. However, I can fores
  12499. ee an Office 12 or 'Office 2005' for the Longhorn release of Windows where you actually start 'Office' as if it was a tool, then within this Office XML framework you work using whatever tools you want and have bought a licence for. It would certainly help to add much needed fluidity into the licensing process for Office. Currently, there are almost countless packages, and some of the bundling decisions seem a little odd to say the least. 
  12500. **To back up my hunch, it's interesting to note th
  12501. at the forthcoming InfoPath XML application won't be part of any of the Office 2003 suites. This announcement, made only this week, is quite fascinating. Yes, it makes sense that only far-thinking users and developers will need the capabilities of InfoPath, at least for the time being. However, it also sets up an interesting expectation, which goes something like this: because Microsoft isn't putting InfoPath into any Office bundles, it doesn't need to worry about taking it out again in th
  12502. e future. 
  12503. **That's because I think InfoPath is a 'one-version product' whose core functionality will in fact become the 'universal canvas' of the future Office framework product suite, and as such there will no longer be a need or place for InfoPath as a product per se. It will become part of the ether of the Office framework. 
  12504. **Only time will tell if this hunch is right or wrong, but it's interesting to see how InfoPath, arguably the most important new component in the Office 2003 sui
  12505. te, is actually not going to be in any of the suite bundles. You read it here first and, as always, comments are welcome to the usual address.
  12506. **64-bit windows
  12507. *The announcement that Microsoft is going to release a 64-bit version of Windows for the AMD Opteron 64-bit processor is welcome news indeed. I've seen it running on prototype AMD hardware, and it works very well. Indeed, it could be argued that Microsoft has decided it no longer needs the weight of a company like Intel backing it,
  12508.  and it can make its own decisions about the platforms it will support.
  12509. **I accept that in the past NT  was available on a range of hardware platforms. Indeed, one of my oldest and most trusted servers is still an NT 4 box running on the Digital Alpha reference motherboard. It keeps working, year-in year-out, and frankly I can't be bothered to move the services off it onto another box, because I have absolute (if naive) faith that it will keep working until the moon crashes into the Atlan
  12510. tic Ocean. 
  12511. **But back then it was clear that the hardware was either vastly too expensive, or just not available. Did anyone ever manage to see a PowerPC-based NT box actually for sale, for example?
  12512. **With AMD 64-bit, it's different. AMD has a compelling platform and Microsoft has decided to support it. Certainly it seems to be a more rational solution than the Itanium family from Intel, which is almost turning into a long-running parody. 
  12513. **And a key technology here for Microsoft is t
  12514. he Common Runtime Language of Visual Studio .NET. Remember that your programming language, whether it be Visual Basic, or C# or C++ or Cobol or Fortran or some weird academic language, all compiles to IL Intermediate Language. The IL code is then compiled by the target CRL runtime on each platform. The IL code really knows nothing about the underlying hardware, or even if there's Windows there at all. So once we see applications coming to market that are written in IL, then the porting iss
  12515. ue to new chips like AMD and Itanium, plus anything else Microsoft cares to support, will be much easier.
  12516. **When Microsoft said it was betting the farm on the Visual Studio work, it wasn't joking. It's the means by which the company can decide what platforms it works on. The previous methodology of recompiling source code for each platform didn't work. Few applications were ported to Alpha, let alone to MIPS or PowerPC versions of Windows NT. And those that were ported often had any numbe
  12517. r of exciting bugs, especially in the slightly more esoteric hardware device driver area. Anyone remember the pain of hardware SCSI controllers on Alpha? I rest my case. Although CRL and IL don't change the problems of underlying driver support, it will make application porting to be a much more seamless thing, especially with the virtual machine offerings Microsoft now has up its sleeve. And in the 64-bit arena, I can only say that we live in interesting times.
  12518. HRJon Honeyball is overwhelmed by Microsoft's latest and greatest - Windows XP Plus!L    July 2003X
  12519. 105 (July 2003)i
  12520. Advanced Windows
  12521. Simon JonesD
  12522. SharePoint Services
  12523. For companies that require teams of workers to collaborate when producing documents, the big news in Office 2003 will be SharePoint. Virtually all the Office applications will make use of SharePoint in one way or another, and Microsoft's marketing department has begun skilfully intertwining Office and SharePoint in its sales pitches so that you hardly know where one starts and the other stops. So, what exactly is SharePoint and why would you want to use it?
  12524. **What Microsoft now refers to 
  12525. award-winningJ
  12526. awarded
  12527. awards
  12528. awareC
  12529. awareness
  12530. awashP
  12531. vinyl
  12532. records
  12533. there
  12534. existed
  12535. movedA
  12536. movedonkeys
  12537. movefirst
  12538. movement`
  12539. movementsm
  12540. movenexto
  12541. moveobject
  12542. mover
  12543. movers
  12544. homeC
  12545. walkingF
  12546. walkman
  12547. walks
  12548. walkthrough
  12549. wander
  12550. wanderingP
  12551. wantA
  12552. wantedC
  12553. timesA
  12554. free-to-viewH
  12555. free/busy
  12556. free/open
  12557. free4all
  12558. freebase
  12559. freebieG
  12560. freebies
  12561. freebsd
  12562. freebsd-style
  12563. freebuilder
  12564. freecell
  12565. freed
  12566. freedomP
  12567. reenetworks
  12568. freephone
  12569. freeportu
  12570. freerip
  12571. freeserveY
  12572. freetdsz
  12573. freewareW
  12574. freeware/hobbyist
  12575. freeway
  12576. freeze
  12577. freezerb
  12578. freezesp
  12579. freezing
  12580. frenchc
  12581. french-polishing
  12582. frenzy
  12583. frequenciesN
  12584. frequencyN
  12585. frequency-to-pitch
  12586. frequentC
  12587. misaligned
  12588. misapplying
  12589. misapprehension
  12590. misappropriation
  12591. misbegotten
  12592. misbehave
  12593. misbehaved
  12594. misbehaves
  12595. lineA
  12596. overridden
  12597. overrideS
  12598. overrides
  12599. overridingQ
  12600. overruled
  12601. overrun
  12602. oversaw
  12603. overseast
  12604. oversee
  12605. overshadoww
  12606. overshadowed
  12607. overshoot
  12608. oversight
  12609. oversights
  12610. oversimplification
  12611. oversimplifying
  12612. oversized
  12613. overstate
  12614. overstated
  12615. overstating
  12616. oversteps
  12617. overstockb
  12618. overstrike
  12619. overt
  12620. overtake
  12621. overtaken`
  12622. overtaking}
  12623. overthrow
  12624. overtly
  12625. precisionQ
  12626. preclude
  12627. precludes
  12628. precocious
  12629. precompiled
  12630. preconceived
  12631. precondition
  12632. preconditions
  12633. preconfigured
  12634. precooked
  12635. precursor
  12636. predated
  12637. predatesd
  12638. predators
  12639. predecessor
  12640. predecessors
  12641. predefinedK
  12642. predesigned
  12643. predetermined^
  12644. predicableA
  12645. predicament
  12646. predicated
  12647. predictn
  12648. predictability
  12649. predictable
  12650. ignored
  12651. igrafx
  12652. ii/233@
  12653. iiis@
  12654. iis4-datafix@
  12655. ill-fated@
  12656. illustrates@
  12657. illustration
  12658. imac's@
  12659. image
  12660. image's
  12661. image-warping@
  12662. imageready's@
  12663. images
  12664. images/ballantines@
  12665. imagesetter
  12666. imagine@
  12667. imagined@
  12668. imitators
  12669. immeasurably@
  12670. immediately@
  12671. immense@
  12672. impaired@
  12673. impatient
  12674. impersonate@
  12675. implementable@
  12676. implementation
  12677. implementations
  12678. implemented@
  12679. implementing@
  12680. implements@
  12681. implode@
  12682. import/export
  12683. importance
  12684. important@
  12685. include@
  12686. included@
  12687. includepicture@
  12688. includetext@
  12689. including
  12690. inclusion@
  12691. incorporate@
  12692. increases@
  12693. incremented@
  12694. indent@
  12695. indexes@
  12696. indiscriminately@
  12697. individuals@
  12698. industry@
  12699. inept@
  12700. inevitably@
  12701. inextricably@
  12702. infection@
  12703. info-annihilation@
  12704. 20ftF
  12705. 20kbits/sec
  12706. 20lake
  12707. 20mbits/sec
  12708. 20mbytes/sec
  12709. 20memory
  12710. 20mhz
  12711. 20panel
  12712. 20presentation
  12713. 20pty
  12714. 20readers/universalm
  12715. 20test&thirdvalue
  12716. 21-day
  12717. 21.13mbytes/sec
  12718. 21.95
  12719. 210.172.228.117
  12720. 210kb
  12721. 212.161.120.54
  12722. 212.74.64.21
  12723. 212.74.64.30
  12724. 212.88.53.125
  12725. 212.88.53.33
  12726. 212.88.53.98
  12727. 2120`
  12728. 212kb
  12729. 213.121.147.12
  12730. 213.86.52.83
  12731. 2147483647
  12732. commandA
  12733. command2
  12734. commandbar
  12735. leaveJ
  12736. leavers
  12737. methodsB
  12738. metro
  12739. metroguide
  12740. metrolink
  12741. metropolis
  12742. metropolitan
  12743. metropolitan-based
  12744. metrowerk's
  12745. metrowerks
  12746. mexican
  12747. mexico
  12748. mfc42
  12749. David Moss and Jon HoneyballD
  12750. Digging deep
  12751. If you've ever been faced with disaster recovery, you'll know that it's a problem best approached with a clear mind, lots of structured thought and more than a few sheets of A4 paper on which to carefully write down what you need to do and in which order. Far too often, what was merely a minor drama gets turned into a full-blown crisis because of the well-meaning but ill-informed dabbling of people who don't know what they're doing.
  12752. **This is all too frequently the contribution from senio
  12753. as 'SharePoint Products and Technologies' grew out of the Digital Dashboard technology that Microsoft started work on about four years ago. Digital Dashboards were web pages constructed from a collection of smaller Web Parts. Each Web Part showed a single nugget of information: a list of customers; a weather map; a graph of sales figures. Administrators could set up these Web Parts and pages, and users could easily say which parts to show where on their own pages. 
  12754. **This was then extende
  12755. d to become a Team website, where users could store documents for collaboration within their team, and provided a home page showing useful information that each user could customise. 
  12756. **This concept, minus much of the customisation code, was given the name SharePoint Team Services and became part of the Office suite. If you bought Office Developer Edition or just FrontPage, you could design, install and run a SharePoint Team Services website. SharePoint Portal Server was a much bigger pro
  12757. duct, which allowed full customisation of Web Part pages and added document check-in/check-out facilities and content indexing. This was a separate, paid-for product and Microsoft claims it has sold 20 million licences for it to date. Large corporations must like the product.
  12758. **With the release of Office 2003, Microsoft has totally revamped the SharePoint range of products. SharePoint Team Services is dead and will no longer be supplied with Office. In its place, welcome SharePoint Servic
  12759. es, an add-on for Windows Server 2003. SharePoint Services may inherit the SharePoint concept and the name but it has been totally rewritten in ASP .NET. It uses SQL Server to store all its data, while communication between Web Parts, SQL Server and Office is all done using XML. If you don't have SQL Server, SharePoint Services will install MSDE (Microsoft SQL Server Desktop Engine) and use that instead. 
  12760. **SharePoint Services won't be ready in time for the launch of Windows Server 2003 i
  12761. n April, but it should ship about a month later via the Windows Update website. SharePoint Services includes the Web Part engine, check-in/check-out and content indexing. You can create multiple SharePoint websites in your organisation, but they'll remain separate entities. The new SharePoint Portal Server adds a layer above these sites to integrate them into a single, cohesive site for your organisation. It also brings more personalisation in the form of your own web pages, which act for 
  12762. you as your portal onto the world and, for others, as information about you, the projects you work on and your areas of expertise or interest. Microsoft now refers to SharePoint Services and SharePoint Portal Server collectively as SharePoint Products and Technologies.
  12763. **Collaborative features
  12764. *The main use of SharePoint will be to facilitate collaboration among team members. These may be permanent teams or ad-hoc teams set up for a particular project - SharePoint doesn't mind if the team
  12765.  lasts a day, a year or five years. A team could be a set of people from many departments within an organisation who need to collaborate on a document, a meeting or a project. You can even set up social team sites for extra-curricular activities such as the company darts team, squash ladder or brass band. Each SharePoint site has a front page based on Web Parts. To this page you may add lists, discussions, surveys, document and picture libraries. You can even customise the look of a ShareP
  12766. oint site by applying a colour theme or editing the pages individually in FrontPage.
  12767. **Lists
  12768. *Lists contain common information that you might want your team to know. There are predefined lists for announcements, events, contacts, tasks or links, and it's also possible to create your own lists, defining what data should be stored and how it should be displayed. 
  12769. **Each list you create gets a simple form through which to enter the data, and you may create different views of that data, sort
  12770. ing, grouping and filtering the data as you want it. You can create fields for text (single lines, multiple lines or rich text), numbers, dates and so on. It's also possible to attach files to items in the list or associate items with other items in the same list - you can even have fields that look up values in other lists. Lists may be linked to Excel workbooks or Access databases, and such links remain alive and work in both directions. 
  12771. **Any view of any list can appear in a Web Part 
  12772. on the front page, which is great for showing summary information such as new announcements, upcoming events, which staff are currently online and useful links. Any list you customise or create may be saved - complete with the definitions of all the fields and views - as a template, allowing you to create clones of successful lists. It's possible to share these templates with other teams throughout your organisation to encourage consistent communication styles. 
  12773. **Discussions
  12774. *Sometimes y
  12775. ou need to have a discussion between several people, but they can't all meet at the same place or at the same time. You could use email, but it's difficult to ensure that everyone sees all the comments or for new people to join in partway through a discussion. SharePoint allows you to easily set up discussions where anyone is able to ask a question or post a comment and other users can reply. All the comments are kept so that latecomers may catch up, and the comments are displayed in threa
  12776. ded order so you're able to tell which comment goes with which original message. In effect, discussions provide a private conferencing system like a miniature version of Cix or PC Pro's web forums.  
  12777. **Surveys
  12778. *If you want to find out what your team thinks about anything, it's possible to quickly set up a survey to ask them. Each person can answer the survey, but only once, and you may tabulate or graph the results at any time. The results of complex surveys can, of course, be analysed in
  12779.  Excel, as a survey is just a special type of list.
  12780. **Document Libraries
  12781. *If several people are co-operating on creating a document, you might store the document on a file server. However, if two people try to edit the same document at the same time, one person risks overwriting the other's changes. 
  12782. **Microsoft Office applications try to minimise this risk by restricting documents that are being edited to be read-only for the second and subsequent persons that open them. You could use t
  12783. he 'send for review' process in Office to email a document to many people to get their changes and then merge all these changes back into the original document. 
  12784. **SharePoint lets you set up shared document libraries where users can save documents needed by the team. You can either save a document to a folder on your hard disk or a local network folder and then upload it to SharePoint, or you may save directly from Office applications to a SharePoint document library. The File Open and Fi
  12785. le Save As dialogs will show a SharePoint website and allow you to navigate to the correct library. 
  12786. **Documents in SharePoint may be checked out to someone so that they - and only they - are able to make changes to it. Once they're finished, they can check the document back in so others are able to see the changes and check the document out to make their own changes.
  12787. **Picture Libraries
  12788. *SharePoint enables you to create a special class of document library for storing pictures, which sho
  12789. ws thumbnail images of the pictures rather than just a list of filenames. You can give each picture a title, a description and some searchable keywords, and record the date it was taken, which then enables other users to sort and filter the pictures. You could use a picture library, for example, to hold publicity shots for your company or to share pictures of a social event.
  12790. **Document Workspace and Live Attachments
  12791. *Documents in a document library can be promoted to separate Document Wor
  12792. kspaces, which have their own access lists, document libraries and lists of tasks for the members to carry out. It's possible to create such a Document Workspace by emailing a document to one or more people - Outlook's Attachment Options Task Pane allows you to choose to send the document as a regular or live attachment, and the latter choice will create a Document Workspace. 
  12793. **If you choose to create a Document Workspace, whenever a recipient goes to open the attachment Office will chec
  12794. k the Workspace and give them the latest version from there rather than the original copy that was emailed to them. Thus, everyone always sees the most up-to-date version of the document with everyone's changes rather than just the original version. This means people don't waste their time duplicating comments or changes and they can react to other people's ideas in a timely fashion. This facility should, if used intelligently, greatly reduce the time it takes a group of people to create o
  12795. r revise a document.
  12796. **Meeting Workspace
  12797. *An interesting variation on the Document Workspace is a Meeting Workspace. You can either create these from scratch in SharePoint or when you set an appointment in Outlook. A Meeting Workspace may contain an agenda, a set of objectives or decisions to be taken, a document library of documentation to be read before the meeting, a set of tasks to be allocated, a list of things to bring to the meeting and a list of the attendees. All the attendees ge
  12798. t an email containing a link to the Meeting Workspace so they can read the agenda beforehand and the minutes or outcome of the meeting. 
  12799. **Alerts
  12800. *Any user can ask SharePoint to send them an email if someone adds, edits or deletes a specific item or any item from a list or library. These emails may be generated at the time of the change, once a day or once a week. The emails contain links to the item that was added or changed, to the item's list or library and to the SharePoint site. This
  12801.  makes it easy to see what other people are doing on the SharePoint site.
  12802. **SharePoint Portal Server
  12803. *All the abilities I've discussed so far are possible using just SharePoint Services, which comes free with Windows Server 2003. What extra then does SharePoint Portal Server give you? Well, as things stand, your departmental SharePoint websites remain separate entities: if the finance department has a SharePoint site and sales has one too, you won't be able to easily navigate from one to 
  12804. the other or do cross-site searches. SharePoint Portal Server manages site aggregation, so your departmental or team sites can be classified, browsed and searched from a single company-wide intranet home page. IT departments may lock down specific Web Parts or page zones so that, for instance, users can't hide or remove a vital company announcement Web Part from their view of a page. 
  12805. **SharePoint Portal Server also introduces personal web pages that users can customise, both to show them
  12806. selves the information sources they need to do their job and to show others information about themselves and their activities. Links, announcements and other information may be targeted to individuals or groups by their job roles, security groups or any other criterion you can think of. If you have legacy databases or corporate business applications such as SAP that require separate logon credentials to retrieve personal data, SharePoint Portal Server and BizTalk Server can marshal lists o
  12807. f usernames and passwords to automate these credentials and retrieve your data from such systems without having to ask you to sign in again.
  12808. **Office Web Parts
  12809. *As well as the standard Web Parts for showing lists, appointments, users and so on, there'll also be some parts that are more closely tied to Office applications. For example, Microsoft is planning Web Parts to show spreadsheets, PivotTables and PivotCharts. The spreadsheet Web Part can be used to show data from Excel workbooks or
  12810.  other data sources in a familiar format but live on a SharePoint page. PivotTable and PivotChart Web Parts will show summary data from SQL Server or the spreadsheet Web Part in a way that can be analysed easily to spot trends or exceptions.
  12811. **Another Web Part under development is called the Web Clipper, which shows a small section of some other web page on your SharePoint website. You can select individual tables or images from any page and the Web Clipper Web Part will show just that da
  12812. ta, refreshing it from the source page whenever necessary. Microsoft is also working on other Web Parts that SharePoint administrators will be able to download from an online library, but these aren't finished yet. They will undoubtedly include NYSE stock price finders, weather forecasts (for US cities) and similar information feeds, but we might get lucky and find that some of them are useful outside of the continental US or the financial communities.
  12813. **In addition, since the Web Parts u
  12814. sed by SharePoint Services and SharePoint Portal Server are just special types of ASP .NET controls, Microsoft will shortly make available a Web Part Library template for Visual Studio .NET, which will allow developers to create their own Web Parts. I haven't had a chance to try this out for myself yet, but the presentations and walkthroughs I've seen so far make it look reasonably easy.
  12815. **In Conclusion
  12816. *I've had three weeks now of building SharePoint sites using SharePoint Services Beta 
  12817. 2 and I'm impressed by the stability, ease of use and the sheer usefulness of the whole thing. I'll be investigating SharePoint Portal Server in the next few weeks when I've got a spare machine to install it on, and I'll be interested to try my hand at developing Web Parts when Microsoft releases the templates for Visual Studio .NET. 
  12818. **Should you be looking at SharePoint too? Well, I'm certainly going to be recommending that many of my clients now look at SharePoint Services as a cost-ef
  12819. fective way to implement business communication systems - it gives you an awful lot of bang for just the price of upgrading your server to Windows Server 2003. 
  12820. **And remember that if you bought Software Assurance on Windows Server 2000, you've already paid for the upgrade in any case. Pricing for SharePoint Portal Server, on the other hand, is yet to be fixed, so we'll have to wait to see if it also represents such good value for money.
  12821. HFSimon Jones guides you through Microsoft's refined group-working toolsL    July 2003X
  12822. 105 (July 2003)i
  12823. Applications
  12824. what'sB
  12825. customisedF
  12826. customised-for-his-p
  12827. customises
  12828. customisingd
  12829. customizeX
  12830. customizesearch
  12831. customs^
  12832. custsupp/downloads/u
  12833. usingA
  12834. ritlabsG
  12835. ritual
  12836. rituallyb
  12837. rivalt
  12838. rival's
  12839. rivalryT
  12840. rivalsZ
  12841. riven
  12842. rivendel
  12843. river
  12844. rivers
  12845. rizla
  12846. rj-45
  12847. rm-ed
  12848. rmbatch
  12849. rmdir
  12850. rnext
  12851. rnr'si
  12852. roadF
  12853. road-diggers
  12854. roadmapp
  12855. roads
  12856. roadworks
  12857. second'sC
  12858. second-generation
  12859. second-guess
  12860. second-guessed
  12861. second-handb
  12862. second-pre-beta-2
  12863. second-stage
  12864. secondaries
  12865. secondarilyL
  12866. secondary]
  12867. secondsG
  12868. allowA
  12869. educationalG
  12870. educators
  12871. edward
  12872. edwards
  12873. eecis
  12874. eeprom
  12875. eerie
  12876. eerily
  12877. effectivelyB
  12878. effectivenessD
  12879. effectsC
  12880. efficiencyQ
  12881. efficientH
  12882. efficientlyQ
  12883. effortD
  12884. effortsx
  12885. adversaries
  12886. adverse}
  12887. adversely
  12888. advert
  12889. advert-free
  12890. advert-related
  12891. advert-strangled
  12892. advertise
  12893. advertised
  12894. advertisement
  12895. advertisements
  12896. advertiser
  12897. advertiser's
  12898. advertisersm
  12899. advertises
  12900. Paul LynchD
  12901. Sound of silence
  12902. Silence has been taking up a surprising amount of my time lately, giving me a deeper understanding of the term 'grim fascination'. I own a number of MP3 players, including several PDAs that are perfectly capable of playing MP3 files, a Linux machine that records and plays MP3s remarkably well, several desktop machines of various persuasions, and a laptop with a good audio player. However, instead of using any or all of these, I've been experimenting with a generic command line-style Java M
  12903. r members of a company (especially in the SME/SoHo environment) who  have even been known to take the most drastic of steps to fix some tiny, niggling problem. Believe it or not, installing the operating system - note I said 'installing' and not 're-installing' - has been used before now as a 'cure' for Word having the wrong paper size set as default.
  12904. **While I agree with anyone who objects that maybe it should be made easier for mere mortals to debug these things, it still doesn't excuse
  12905.  the wholesale fiddling that so often occurs. Attempting to fix the newly magnified disasters that result becomes a task rather like following the elephant at the circus, armed only with a bucket and shovel. 
  12906. **And, since I'm having a general moan, could I point out that care should be taken when dealing with the person who has the hapless task of digging your computer network out of the hole into which you tipped it. Asking every five minutes if the network is going to be working again s
  12907. hortly is the sort of interruption that's guaranteed to turn the most mild-mannered of IT consultants into a green facsimile of the Hulk at a moment's notice. 
  12908. **Having said that, we're often to blame for bad communication and the setting of unrealistic expectations, and the software itself sometimes doesn't help. A good example is what happens when an Exchange Server crashes. Experience shows that this is rarely due to any grotesque instability in Exchange Server itself or the underlying
  12909.  Windows Server, as such installations tend to be standalone application servers that aren't required to do other tasks (like running the office Quake network server) and hence should be stable. But nothing short of full-scale clustering can get around a bona fide failure of the underlying hardware.
  12910. *Getting a dead Exchange Server back up and running is one thing, but getting the underlying OS sorted out - especially if this is a single-server, small-business solution where you have Exc
  12911. hange Server 2000 installed on top of Windows 2000 with Active Directory, all running on the same box - is another level of complexity and hence takes time. Meanwhile, it isn't unreasonable of the users to be worried about whether they're going to get their files and emails back.
  12912. **In today's world, getting access to vital emails can be more important than the file system itself, because often the files are stored as attachments to emails, and emails form the lifeblood of the ongoing comm
  12913. unication of a company, both within and without. So you can imagine how tense things can get if you discover that you can't get Exchange Server running and that the backup tape drive has fallen over and you're worried that the EDB files are lost.
  12914. **Let's describe a possible scenario. You're presented with a backup tape from 15 months ago, and its owner cheerfully states that there's an email on there, now long-deleted from the current system, which must be retrieved. No excuses will do - 
  12915. you have to get this email back. What do you do? One obvious solution is to build a new server, set it up to pretend to be the main server and then to do a recovery of Exchange Server onto that server and thus bring the data back online. You can then hook up a copy of Outlook to the new server and dump out the required emails to a PST file. 
  12916. **All of this takes time, and not only does time equal money, but often 'now' really does mean 'now'. Worst of all, you're due at the pub in an hour 
  12917. and that certainly doesn't leave enough time to do a scratch install, Exchange Server install, data recovery and email extraction. What do you do?
  12918. **And here's a second common scenario. You decide, after much deliberation, that your Exchange Server is a bit 'Donald Ducked' due to an unidentified permissions screw-up buried somewhere deep in the system. Maybe you'd done something unwise like DCPROMOing Active Directory onto your Exchange Server member server (or, worse still, DCPROMOed it 
  12919. off again). Anyway, you decide it would be a good idea to back up all the Exchange Server data, uninstall and reinstall Exchange Server. Then you can restore the data and everything will be fine. 
  12920. **So you trot off down this apparently sensible path, only to discover near the end that the backup information won't restore onto the server. You had complete faith in the workability of your backup/restore procedure so hadn't bothered making a PST local file copy of your Exchange Server inbox,
  12921.  but now the beads of cold sweat suggest this wasn't such a bright assumption. What do you do?
  12922. **PowerControls
  12923. *Well, the first of these scenarios happened to me last week, and the second happened to a friend only last night. Fortunately, I had a tool to hand that made the problem-solving a matter of a few mouse clicks. Not only does it genuinely work, it works so well system admins will have to find new ways of padding out their timesheets. The tool in question is called PowerControls 1.
  12924. 1 from Ontrack, a firm well-known for its clean-room hard disk-recovery facilities. 
  12925. **Ontrack's programmers obviously wrote PowerControls to help unpick the sort of mess they must see on an almost daily basis, and its basic premise is simple - to open up the core EDB database files from an Exchange Server installation and enable you to browse them and extract any item at will. 
  12926. **To understand why this is significant, let me point out as clearly as possible that you don't need to have E
  12927. xchange Server installed or running, or even within 100 yards of the scene. This tool works directly on the underlying data files themselves. You don't need to be working on a server or anywhere near Active Directory. You don't need to be on the source network because there's no authentication required or desired. PowerControls just unpeels the EDB database files and lets you peer inside.
  12928. **At this point, you may be wailing that your Windows Backup creates a BKF file so you don't have the
  12929.  EDB files. No problem - one of the functions of PowerControls is a Wizard that you can point at a BKF file, which looks inside and extracts the EDB files for you. And if you have everything stored on a tape drive, you don't need to recover to disk, as PowerControls will control your tape drive and extract from the EDB files held on that.
  12930. **How is all this presented to you as a user? The program looks rather like a mutant form of Outlook: in the upper half of the screen is an Outlook-esqu
  12931. e tree view of your mailboxes, which is the source window, while the lower half is the destination window. Let's go back to my first disaster scenario - recovering an old email from a backup file. PowerControls' Extraction Wizard pulled the EDB files out from the BKF backup file and dropped them onto the local hard disk. I specified that I wanted to use a local PST file as the destination container, and once I'd specified this PowerControls went to work and opened up the EDB file for my in
  12932. spection. 
  12933. **There I could browse all the mailboxes that were stored on that EDB storage group, drill down into each one and then be presented with the usual Outlook-alike set of containers - inbox, drafts, deleted items, contacts and so forth. I drilled down into the inbox to a subfolder the user had created and found that vital email message complete with its attachment of a Word document. A quick drag-and-drop deposited a copy of the whole thing into my PST file. I could then take the 
  12934. PST file to the anxious user, mount it up into Outlook and magically recover that old email into his inbox for him. 
  12935. **Total time from start to finish? Under five minutes, honestly. See what I mean about padding out the timesheets? Perhaps I should have acted up a bit, making several cups of strong black coffee and being heard to mutter ostentatiously 'it's not easy this, it's taking time, I'm going as quick as I can' before disappearing back into the machine room, putting my feet up and 
  12936. reading the newspaper for at least a couple of hours so that a more credible length of time had elapsed. 
  12937. **But I have to come clean with you - it was the matter of a few minutes only, and that included learning the UI and reading the online help to make sure I was doing things in the right order. It would have taken longer if I'd had the backup on a tape, because some degree of tape shuffling and reading would have been required. But this was a disc-targeted backup system that was second
  12938. arily backed up to tape, so I had a shiny BKF file to play with already. 
  12939. **In the second scenario, my friend's home/office Exchange Server installation was acting a bit wobbly so he decided that a backup, uninstall and reinstall was just the ticket. Halfway through the evening, I got a sheepish phone call telling me that it had all gone horribly wrong and he wasn't able to restore the data. Maybe it might be possible to use this fabulous new tool I had been raving about only a few hours 
  12940. earlier? It would have been churlish to refuse, so he made a terminal-server connection into my network and transferred his BKF file over. 
  12941. **PowerControls enabled him to recover his entire inbox structure and all the mailboxes, contacts and calendars. Although I'd been impressed enough with the recovery of just one email in my initial test, I was amazed that it recovered everything out of a complete Exchange Server installation. Out of more than 20,000 messages, only a few weren't recove
  12942. rable, the software complaining that they were corrupted (almost certainly by some age-old anti-virus software). All the contacts, calendars, emails and so forth were dropped into the PST files for subsequent recovery into a fresh Exchange Server installation. 
  12943. **So PowerControls works, and works brilliantly. Are there any downsides? I should point out that you'd better keep your backup tapes, BKF and EDB files safe and secure because there's no password or security lockout here - load th
  12944. e file, choose the mailbox and away you go. There's nothing to stop you from diving into any of the data and, if you can do it, any hacker armed with this tool can do it too. 
  12945. *The only thing that makes this relatively unlikely is the high cost of the software - the standard version costs 
  12946. 699 per server and recovers up to 100 mailboxes. The Business version costs 
  12947. 999 per server and recovers up to 250 mailboxes, while for larger installations there's a per mailbox and per server-based pri
  12948. cing scheme. It's not cheap, but it's certainly not expensive when you need it. It's perhaps a little way over the price pain threshold for 'I'll buy that just in case I need it', but when you do need it nothing else will do. 
  12949. **I should also point out that PowerControls doesn't remove the need for a proper disaster-recovery plan for Exchange Server. Indeed, such an event can now become a two-pronged affair - identify those key users who must have access to their mailboxes right now and u
  12950. se PowerControls to extract their data immediately. At the same time, start on the full recovery path. Some of this will get easier with Outlook 2003 when coupled to Exchange 2003, if you set up the local cacheing facility. In this scenario, a workstation just goes 'offline' from the server when the server disappears, but its user can still work with a local cache of their data. However, this doesn't work with earlier versions of either software unless you've told it that each machine is a
  12951.  roaming laptop, which introduces its own headaches.
  12952. **PowerControls 1.1 has proven itself twice in two difficult situations and I can't ask for more, so recommendation is mandatory. Contact <A HREF="http://www.ontrack.co.uk" target="_BLANK">www.ontrack.co.uk</A> where you can download a demo version. 
  12953. **Other Exchange tips
  12954. *There are a few other things you can do that will help if Exchange Server goes sour. First, look at whether you have  enough disk space and ensure Exchange Server do
  12955. esn't actually delete things when you tell it to in Outlook. This is called 'mail retention' and it can save your bacon. This is especially true if you set up Exchange Server to hang on to mailboxes even once you've administratively deleted them: the item to look for is called Deletion Settings and you'll find it on the Limits tab of the properties of the Mailbox Store. 
  12956. **Drill down to First Organisation/Servers/Servername/First Storage Group/Mailbox Store and right-click on that and cho
  12957. ose Properties. On the Limits tab, you'll find a group called Deletion Settings, which has two entries: 'Keep deleted items for day(s)' and 'Keep deleted mailboxes for (days):'. There's a checkbox in here too called 'Do not permanently delete mailboxes and items until the store has been backed up'. What are good settings here? Start with 30 days for each date setting and turn on the checkbox. This way, you'll be sure that everything got into a backup set before it was finally deleted. 
  12958. Finally, bear in mind that some companies operate a 'delete it all' policy, which is especially common in heavily regulated spaces like pharmaceutical and financial companies. In these organisations, you have to operate a 'clean inbox' policy by deleting anything after a specific date - often 30 days. The logic behind this is that anything considered important and worth keeping should be put into a company document repository, like Documentum or an equivalent, and that an email inbox is to
  12959. o small a bucket in which to keep important information. 
  12960. **Other firms insist that everything must be filed into public folder trees in Exchange Server, structured on a project, team or departmental basis, and thus there's no need for information to lurk in an essentially 'private' email store. I can see the merit to such solutions, provided there's a proper repository for information to be held for the long term. All too often, though, companies just impose some arbitrary inbox storage 
  12961. }limit on the user, who then has to frantically delete anything of any size to keep under the mailbox limit. Not only is this a grotesque waste of time in an era where disk storage is cheaper than it has ever been, but it also tends toward the inevitable destruction of the long-term information heritage of that company. Such info-annihilation may come back to haunt in the future.
  12962. HYJon Honeyball goes it alone this month and tackles the thorny issue of disaster recovery.L    July 2003X
  12963. 105 (July 2003)i
  12964. Back Office
  12965. tasksA
  12966. tastex
  12967. taxation
  12968. taxes
  12969. taxidermist
  12970. taxing
  12971. taxman
  12972. taxonomies
  12973. taxonomist
  12974. taxonomy
  12975. tbitmap
  12976. tblblogso
  12977. tblcatagories
  12978. self-restoring
  12979. self-sacrifice
  12980. self-same
  12981. self-scripting
  12982. self-serving
  12983. self-similar[
  12984. self-sorting
  12985. self-study
  12986. self-styled]
  12987. self-sufficient
  12988. self-supporting
  12989. self-tapper
  12990. self-test
  12991. self-tuning
  12992. self-updating
  12993. selfcert
  12994. selfcontained
  12995. selfishw
  12996. selfless
  12997. sellI
  12998. individualC
  12999. transferredL
  13000. transferringN
  13001. transfersi
  13002. transformS
  13003. transform-centered
  13004. transformationT
  13005. transformationsU
  13006. transformative
  13007. transformedH
  13008. transformer
  13009. transforming
  13010. sparencies
  13011. transparencyH
  13012. transparent
  13013. disastersL
  13014. disastrousY
  13015. disastrously
  13016. disbanded
  13017. disbeliefp
  13018. disca
  13019. disc-duplicating
  13020. disc-targetedL
  13021. disc-write
  13022. discardZ
  13023. discardability
  13024. discardable
  13025. discarded
  13026. disconnection
  13027. discontinue
  13028. discontinued
  13029. discount
  13030. discountingZ
  13031. discountsX
  13032. discouragec
  13033. discouragedR
  13034. discoursec
  13035. distribution@
  13036. distributors@
  13037. dither@
  13038. divided@
  13039. dividend@
  13040. dlink@
  13041. dllimport@
  13042. subject
  13043. keeps
  13044. raising
  13045. windows
  13046. do-anything@
  13047. document@
  13048. document's@
  13049. documented@
  13050. documents
  13051. documentum@
  13052. dodragdrop@
  13053. regulation
  13054. investigative
  13055. powers
  13056. anythi
  13057. doesn't@
  13058. doframe
  13059. doing
  13060. dolby
  13061. dolly@
  13062. domain
  13063. domain's@
  13064. domainname
  13065. dominated@
  13066. don'tt
  13067. donald@
  13068. done@
  13069. dongle
  13070. donkey@
  13071. dontcache
  13072. door's
  13073. doors@
  13074. dos-based@
  13075. double-agent@
  13076. double-checked
  13077. ensure
  13078. ensured@
  13079. entirely@
  13080. entitled@
  13081. entry@
  13082. entry-level@
  13083. equalisation@
  13084. equates@
  13085. equipped@
  13086. O+O+O+O+O+O+O+O+O+O
  13087. %UI1I1I1I1I1I1I1I1I1I
  13088. O+O+O+O+O+O+
  13089. P3 player on my laptop (a good but broken Apple PowerBook G4).
  13090. **I saw someone demonstrate this player as an example of how conformant Mac OS X is now to the world of standards, deploying this simple, cross-platform MP3 player as the core of an application that uses AppleScript to drive it. Since then, I've spent hours downloading and experimenting with the player, my excuse being that a significant proportion of my time is devoted to Java programming and a project like this is pretty clo
  13091. se to the bone. 
  13092. **The player I'm using is called jmpg123 (from <A HREF="http://www.mpg123.de" target="_BLANK">www.mpg123.de</A>) and comes with a copyright date of 1998, which is surprisingly old for something that still works. It requires Java 1.2 or better, so I've updated my laptop to Java 1.4.1 and luckily it still works. 
  13093. **The grim fascination lies in the fact that it plays music with accurate pitch, although extremely slowly on my laptop. Being used to analog music sources, I'd e
  13094. xpect a slurring of pitch if the player can't keep up, but this doesn't happen with jmpg123. It turns out, then, that this app is a reasonable test of Java performance and can be used directly to compare the relative performance of different computers. When running, it bumps the cycles graph on my CPU monitor from less than 5 per cent utilisation to around 20 per cent so isn't a heavy load. Getting it to work isn't difficult either and is even easier if you read the accompanying documentat
  13095. ion. Download the 100 per cent pure Java player from <A HREF="http://www.mpg123.de" target="_BLANK">www.mpg123.de</A>, open the archive file and, assuming you have the default Java classpath set up - and you should know if you've changed it - it will run with the command line:
  13096. **cd jmpg
  13097. *java -cp jmpg.jar jmpg/jmpg123 <music.mp3><P>
  13098. *where <music.mp3> is the correct path to some playable MP3 file. Just locate the file and drop it on the Terminal window to fill the path in automatical
  13099. ly. The default options play the MP3 file through the native sound output device, but if this doesn't work there are further options to pipe the sound output into any device you wish.
  13100. **Using these same principles, it's easy to install and run any regular Java package on Mac OS X. Many of the main Java apps now come with specific Mac OS X installers, allowing their developers to pre-configure the products to Mac OS X conventions, which usually means just an application wrapper to give it 
  13101. a pretty icon, though it's possible to go further. JEdit is a well-known Java editor (oriented towards programmers) whose graphical user interface is entirely written in Java. Installing JEdit is a simple matter of going to <A HREF="http://www.jedit.org" target="_BLANK">www.jedit.org</A>, navigating to the Mac OS X download page, clicking the download link, waiting for the file to load automatically, and copying the JEdit application to a suitable place on your hard disk.
  13102. **Since the enti
  13103. re interface is in the Java application, it isn't totally consistent with Mac conventions  - for example, the Application menu is in the main window rather than in the Application menu bar across the top of the screen - but at least this is consistent across different platforms, which is some advantage.
  13104. **Java on PDAs
  13105. *I may spend a lot of time programming in Java, but I don't do it using (or targeting) PDAs, for a number of good reasons. In past columns, I pointed out that there weren't 
  13106. any good PDA implementations of Java, but I no longer believe this to be entirely true. A second reason is that Java implementations for PDAs are sufficiently different from desktop and server implementations to be a pain. Lastly, and most importantly, the only effective Java development environments I've found run on desktops and cross-compile to the PDA - a development tool that runs effectively on the PDA itself remains elusive.
  13107. **Writing programs on a server or desktop PC with an exte
  13108. rnal device as the target is nothing new, whether it's an embedded processor, a PDA or a nuclear reactor control system. In fact, for professional programmers, developing in the target environment is rare, with PCs and Macs proving the exception rather than the norm. And even among PC developers, their working machine's spec is typically very different from the application it's intended to run on. So it isn't surprising, then, that there are no good tools for professional development that 
  13109. actually run on a PDA. There are plenty of development tools and utilities out there, but the distinction between tools for professional and casual use is very wide. 
  13110. **Although a professional programmer, I'm also a casual user of the systems I develop for and so often use tools intended for the casual user. For instance, I used to employ a Forth programming environment on one PDA that I also programmed for on a desktop machine. I didn't actually develop in Forth, but used it as a kind of
  13111.  super-programmable calculator to do quick sums that I couldn't remember how to solve on the desktop; for example, Forth makes it simple to calculate with and convert between number bases. I could easily see myself developing in Smalltalk or Java on a desktop system and using a PDA implementation of the same language as an effective aid to test out small pieces of code.
  13112. **However, for Java, the right tools for developing on the desktop or laptop don't carry over into PDA implementations. 
  13113. On the desktop, I'm going to be developing graphical apps using Swing, the graphical user interface framework for the full version of Java, but neither of the Java implementations for PDAs - J2ME and PersonalJava - include Swing.
  13114. *Instead, you have to use the older and unpleasant AWT, which is like writing web scripts using ASP .NET on the desktop and ASP 3 on the PDA, although to be fair ASP 3 is slightly worse to program in than AWT, and ASP .NET slightly better than Swing.
  13115. **The oth
  13116. er problem is that of optimising programs for different device models. When programming for the desktop, I assume the user could be using a range of display sizes, that they probably don't use 640 x 480 any more but could scale up to 1,600 x 1,200, and this is all handled for me by the operating system. With PDAs, there are relatively few fixed sizes, resolutions, colour display depths and even available hardware buttons on the devices. 
  13117. **This was certainly the case for the Symbian OS, u
  13118. ntil a proliferation of ports meant they gave up their system of fixed models, and much the same is true for Palm OS and Pocket PC. This means that for PDAs a lot more effort, proportionately, has to go into explicitly writing code to handle different device layouts.
  13119. **Possibly the best PDA Java implementation at present is the one for the Sharp SL-5xxx range, and it should be the most rewarding to experiment with. However, it does use a port of J2ME so suffers from some of the problems I
  13120.  just mentioned. I'd be interested if any readers have experience of developing seriously in Java on their Sharp, or any other PDA development system for that matter.
  13121. **Messing about in boats
  13122. *Continuing along this same line of thought, a reader asked me: 'I'm a web/systems developer who also delivers yachts as a bit of a sideline. I'm thinking about how I can continue my programming work while I'm on a delivery. Laptops are out because of their power requirements, and in fact the only th
  13123. ing that will do is a PDA with replaceable batteries.'
  13124. **This question rattled the cages of several of the Real World editors. Unfortunately, the answer has to be 'No' to the question as posed, for all the reasons I've outlined above. Software for the casual programmer certainly exists, but you'd be restricted to using an interpreted language that runs directly on the PDA itself - not very portable. The biggest factor militating against using a PDA for this sort of development work is tha
  13125. t it doesn't provide the facilities of a full-scale professional development environment. The closest you might come would be the Sharp SL-5xxx series I just mentioned, but I haven't seen any suitable tools, nor could I imagine how a desktop-derived development system could be successfully ported to such a restricted display.
  13126. **Most PDAs nowadays have built-in rechargeable batteries and few, apart from the bottom-of-range Palms, will still run from disposables. Having said that, I wonder 
  13127. if the question is too restrictive, as most yachts should be able to run a small generator that could provide decent-quality power for recharging PDA batteries, or even to run a reasonably frugal laptop. Also, I can think of few PDAs that are suitably rugged for the wet, rolling boat environment, even with a generator. A ruggedised laptop may be more feasible and could support a professional development environment as well.
  13128. HIPaul Lynch puts on his programming hat and fishes around in the Java sea.L    July 2003X
  13129. 105 (July 2003)i
  13130. Mobile Computing
  13131. Brian HeywoodD    FX online
  13132. One studio task that can take up an inordinate amount of time, considering its modest technical difficulty, is the adding of sound effects to an audio project. This kind of job is frequently required for both music CDs and soundtracks for video projects, and a need can also arise in multimedia applications - for instance, sounds that are associated with button clicks or page turns.
  13133. **The problem has nothing to do with the actual process of adding the sampled sound to your project, which i
  13134. deeperM
  13135. deepest
  13136. deeplyF
  13137. deeply-nested
  13138. deeply-probing
  13139. deerfield
  13140. deersoft
  13141. deesser
  13142. deface
  13143. defacement
  13144. defamation
  13145. defamatory
  13146. defamed
  13147. defamer
  13148. fectors
  13149. defects}
  13150. defencem
  13151. defencesA
  13152. defendantt
  13153. defendant's
  13154. defender
  13155. defensiveY
  13156. defer
  13157. deferred
  13158. deficiencies
  13159. deficient
  13160. deficit
  13161. O+O+O
  13162. O+O+O+O+O+O+O+O+O
  13163. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13164. O+O+O+O+O+O+O+O+O
  13165. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13166. O+O+O+O+O+O+O+O+O
  13167. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13168. O+O+O+O+O+O+O+O+O
  13169. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13170. O+O+O+O+O+O+O+O+O
  13171. O+O+O+O+O+O+O+O+O+O+O+O
  13172. +O+O+O
  13173. O+O+O+O+O+O+O+O+O
  13174. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13175. O+O+O+O+O+O+O+O+O
  13176. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13177. O+O+O+O+O+O+O+O+O
  13178. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13179. O+O+O+O+O+O+O+O+O
  13180. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13181. O+O+O+O+O+O+O+O+O
  13182. O+O+O+O+O+O+O+O+O+O+O+O+
  13183. O+O+O+O+O+O+O
  13184. %UI1I1I1I1I1I1I1I1I1I
  13185. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13186. %UI1I1I1I1I1I1I1I1I1I
  13187. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13188. %UI1I1I1
  13189. I1I1I1I1I1I1I
  13190. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13191. %UI1I1I1I1I1I1I1I1I1I
  13192. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13193. %UI1I1I1I1I1I1I1I1I1I
  13194. O+O+O+O+O+O
  13195. +O+O+O+O+O+O+O+O
  13196. %UI1I1I1I1I1I1I1I1I1I
  13197. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13198. %UI1I1I1I1I1I1I1I1I1I
  13199. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13200. %UI1I1I1I
  13201. 1I1I1I1I1I1I
  13202. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13203. %UI1I1I1I1I1I1I1I1I1I
  13204. O+O+O+O+
  13205. O+O+O+O
  13206. %UI1I1I1I1I1I1I1I1I1I
  13207. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13208. %UI1I1I1
  13209. I1I1I1I1I1I1I
  13210. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13211. %UI1I1I1I1I1I1I1I1I1I
  13212. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13213. %UI1I1I1I1I1I1I1I1I1I
  13214. O+O+O+O+O+O
  13215. +O+O+O+O+O+O+O+O
  13216. %UI1I1I1I1I1I1I1I1I1I
  13217. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13218. %UI1I1I1I1I1I1I1I1I1I
  13219. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13220. %UI1I1I1I
  13221. 1I1I1I1I1I1I
  13222. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13223. %UI1I1I1I1I1I1I1I1I1I
  13224. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13225. %UI1I1I1I1I1I1I1I1I1I
  13226. O+O+O+O+O+O+
  13227. O+O+O+O+O+O+O
  13228. +O+O+O+O+OO+O+
  13229. O+O+O+O+O+O+O+O
  13230. O+O+O+O+O+O+O+O+O
  13231. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  13232. O+O+O+O+O+O+O+O+O
  13233. +O+O+O+O+O
  13234. O+O+O+O+O+O+O+O+O+O
  13235. O+O+O+O+O+O+O+O+O
  13236. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  13237. O+O+O+O+O+O+O+O+O
  13238. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  13239. +O+O+O+O+O+O+O
  13240. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  13241. O+O+O+O+O+O+O+O+O
  13242. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  13243. O+O+O+O+O+O+O+O+O
  13244. +O+O+O+O+OO
  13245. +O+O+O+O+O+O+O+O+O
  13246. O+O+O+O+O+O+O+O+O
  13247. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  13248. O+O+O+O+O+O+O+O+O
  13249. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  13250. so-called
  13251. society@
  13252. sofa@
  13253. softartisans
  13254. software@
  13255. software's@
  13256. software/hardware@
  13257. soldering@
  13258. solid-state@
  13259. solution
  13260. solution-specific
  13261. solution/steve@
  13262. solve@
  13263. mers@
  13264. spare@
  13265. spawn@
  13266. specifically@
  13267. specifications@
  13268. speed-up@
  13269. spiral@
  13270. spool@
  13271. springs@
  13272. square@
  13273. stackable@
  13274. standard@
  13275. staple@
  13276. started
  13277. starter@
  13278. starters@
  13279. state-of-the-art@
  13280. statutory@
  13281. stereo@
  13282. stern@
  13283. sticker@
  13284. still
  13285. still-tight@
  13286. sting@
  13287. store@
  13288. stores@
  13289. straight-on@
  13290. stream-orientated@
  13291. streets@
  13292. strengths@
  13293. strings@
  13294. structured@
  13295. studio's@
  13296. stumping@
  13297. style>@
  13298. submitted@
  13299. subsystems@
  13300. subwindow@
  13301. successors@
  13302. things
  13303. online
  13304. frequ@
  13305. suffix@
  13306. catalogI
  13307. catalog's
  13308. catalogs
  13309. catalogue|
  13310. catalogue's
  13311. catalogue-updating
  13312. cataloguesT
  13313. cataloguing
  13314. catalyst
  13315. catalytic
  13316. catastrophe
  13317. catastrophes
  13318. catastrophic
  13319. catchE
  13320. +O+O+
  13321. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13322. O+O+O+O+O+O+O+O+O
  13323. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13324. O+O+O+O+O+O+O+O+O
  13325. O+O+O+O+O+O+O+O+O+O+O
  13326. +O+O+O+O
  13327. O+O+O+O+O+O+O+O+O
  13328. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13329. O+O+O+O+O+O+O+O+O
  13330. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13331. O+O+O+O+O+O+O+O+O
  13332. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13333. O+O+O+O+O+O+O+O+O
  13334. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13335. O+O+O+O+O+O+O+O+O
  13336. O+O+O+O+O+O+O+O+O+O+O+
  13337. O+O+O+O+O+O+O
  13338. %UI1I1I1I1I1I1I1I1I1I
  13339. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13340. %UI1I1I1I1I1I1I1I1I1I
  13341. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13342. %UI1I1I1
  13343. I1I1I1I1I1I1I
  13344. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13345. %UI1I1I1I1I1I1I1I1I1I
  13346. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13347. %UI1I1I1I1I1I1I1I1I1I
  13348. O+O+O+O+O+O
  13349. +O+O+O+O+O+O+O+O
  13350. %UI1I1I1I1I1I1I1I1I1I
  13351. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13352. %UI1I1I1I1I1I1I1I1I1I
  13353. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13354. %UI1I1I1I
  13355. 1I1I1I1I1I1I
  13356. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13357. %UI1I1I1I1I1I1I1I1I1I
  13358. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13359. %UI1I1I1I1I1I1I1I1I1I
  13360. O+O+O+O+O+O+
  13361. O+O+O+O+O+O+O
  13362. %UI1I1I1I1I1I1I1I1I1I
  13363. O+O+O+O+O+O+O+O+O+O+
  13364. realiseG
  13365. realises
  13366. ruleE
  13367. rulebook
  13368. +O+O+O+O+O
  13369. O+O+O+O+O+O+O+O+O+O+O
  13370. +O+O+OO+O+O+O+O+O+O+O+O+O
  13371. O+O+O+O
  13372. +O+O+O+O+O+O+O
  13373. +O+O+OO+O+O+O+O+O+O+O+O+O
  13374. O+O+O+O+O+O+O+O+O+O+O
  13375. +O+O+OO+O+O+O+O+O+O+O+O+O
  13376. O+O+O+O+O+O+O+O+O+O+O
  13377. +O+O+OO+O+O
  13378. +O+O+O+O+O+O+O
  13379. O+O+O+O+O+O+O+O+O+O+O
  13380. +O+O+OO+O+O+O+O+O+O+O+O+O
  13381. O+O+O+O+O+O+O+O+O+O+O
  13382. +O+O+OO+O+O+O+O+O+O+O+O+O
  13383. O+O+O+O+
  13384. O+O+O+O
  13385. O+O+O+O+O+O+O+O+O
  13386. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13387. O+O+O+O+O+O+O+O+O
  13388. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13389. O+O+O+O+O+O+O+O+
  13390. O+O+O+O+O+O+O+O+O+O+
  13391. O+O+O+O+O
  13392. O+O+O+O+O+O+O+O+O
  13393. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13394. O+O+O+O+O+O+O+O+O
  13395. O+O+O+O+O+O+O+O+O+O+O
  13396. +O+O+O+O
  13397. O+O+O+O+O+O+O+O+O
  13398. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13399. O+O+O+O+O+O+O+O+O
  13400. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13401. O+O+O+O+O+O+O+O+O
  13402. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13403. O+O+O+O+O+O+O+O+O
  13404. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13405. O+O+O+O+O+O+O+O+O
  13406. O+O+O+O+O+O+O+O+O+O+O+
  13407. O+O+O+O
  13408. O+O+O+O+O+O+O+O+O
  13409. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13410. O+O+O+O+O+O+O+O+O
  13411. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13412. O+O+O+O+O+O
  13413. s a relatively simple procedure given virtually any modern PC-based digital audio editor. No, the problem arises from the amount of time it takes to find the sound effect samples in the first place.
  13414. **Like a lot of people who've been working in the audio industry for some time, I've collected over the years a small library of sound effects so that I can quickly lay my hands on a range of different sound samples when required. In the past, if I didn't already have a suitable sound effect i
  13415. n this library, there were two options: either buy a commercial sound effects CD, or go out and record (or otherwise create) a suitable 'noise'. 
  13416. **Both these approaches can be time-consuming and expensive. While there's a large number of commercial sound-sample CDs available, good ones tend to be costly and you may have to buy an entire set just to get the one effect you need. The alternative, recording a sound effect from scratch, is an art in itself and it can be difficult to get usabl
  13417. e results.
  13418. **The usual solution to this problem in a big studio situation is to keep a database of sound effect samples categorised by type available on the studio network. This means whenever you need a door-slam or the sound of a gunshot for your movie soundtrack, you just search the database and select a suitable audio file from the results. 
  13419. **Now, since the development of the Internet, such a facility no longer has to be maintained in-house, and a number of companies provide sample 
  13420. databases online. The idea is that you can search their databases for the sample sound you need, audition it at a low resolution from the list provided, and download the one you like best. Then you pay for the sample via an online credit card facility or by setting up an annual subscription if you're a heavy user. This pay-per-sample approach makes sense if you're a fairly light user, since you can download just what you need rather than having to buy the whole set. 
  13421. **The payment covers 
  13422. all the appropriate royalties for the samples so that you can use them wherever you like, although you aren't allowed to sell them on as raw samples. 
  13423. **Sound-effects-library.com
  13424. *The service I've been using most recently is provided by <A HREF="http://www.sound-effects-library.com" target="_BLANK">www.sound-effects-library.com</A>, which reckons it has more than 200,000 high-quality sound samples available for download. These samples include the whole BBC Sound Effects Library - all 165 
  13425. CDs - plus effects from films such as Batman and Robin, Clear and Present Danger, The Fugitive, Tomb Raider and Star Trek: Nemesis to single out but a few. As well as straight sound effects, it contains music tracks and samples including drum loops and breakbeats. You access the database of samples using your standard web browser, enhanced by a Shockwave plug-in that can be downloaded from the website.
  13426. **There are two ways to search for sounds on this system: a simple keyword search or a 
  13427. more advanced version that lets you specify a sample category. For instance, when I did a search on 'air raid sirens' using the simple keyword interface, it came up with over 800 matches including all samples that contained the words 'air', 'raid' or 'siren' in their description. However, after restricting the category to 'SIRENS', the list was reduced to a more manageable 26 hits. 
  13428. *You can also specify multiple categories with a Boolean AND relationship to further limit the choices displ
  13429. ayed - for example, 'AIR' AND 'RAID' reduced the results list to 22 hits but meant that some appropriate samples were excluded from the list because they weren't included in both of the categories I defined. It's also possible to set the maximum or minimum length of the samples in seconds to further refine the search.
  13430. **Another way of selecting samples is to browse the library using the alphabetic list of sound-effect categories. The list is refined by typing in partial words, so typing i
  13431. n 'pipe' gets you 'BAGPIPES', 'AEROPLANES:PIPER', 'CHURCH: ORGAN:PIPE' and so on. Once you have a list of samples, you audition them by highlighting a sample and applying the tape transport controls on the search results panel. Samples you play in this way have a 'hiss' signal added to them, presumably to prevent piracy. 
  13432. **You can also audition a file by pressing the Shift key and using the right arrow key to play the sample, the left arrow key to stop playback, and the up and down keys 
  13433. to scroll through the samples list. This second means of playing samples is a lot quicker and dispenses with the added hiss, which makes for a more pleasant selection process (but makes you wonder why they bothered adding the hiss in the first place).
  13434. **When you find a suitable sound sample, you add it to your shopping cart by clicking on the appropriate button. You can afford to be generous with multiple choices at this stage, as files in the cart can also be auditioned for you to furthe
  13435. r prune your selection at a later stage. It's possible to save the list for a later date, even between sessions, presumably by creating a 'cookie' on your hard disk. 
  13436. **Once you've decided which samples you're going to purchase, you check out and select the way you want to pay for the session and the file delivery method (download or mail order disk), the file type (AIF or WAV) and the sample rate (44.1kHz or 48kHz). You can either pay online via your credit card or subscribe for unlimite
  13437. d downloads for 
  13438. 999 per year, which is worthwhile if you expect to be downloading more than about 200 samples per year.
  13439. **Once the transaction has gone through, you're presented with a web page with links to the files you've purchased, encoded as ZIP files. Just beware that these files are usually in stereo, so they can be quite large - 175KB per stereo second for audio sampled at 44.1kHz. You also receive an email with links to the files, so you could conceivably send them to a second l
  13440. ocation, say, if you were working at one office but needed the files to be accessible at another. 
  13441. **This represents my ideal application of the Internet, since you can basically offload the hassle of maintaining a comprehensive sample library onto someone else's shoulders. The nature of the Net also means you can access this information at any time of the day or night rather than having to wait for business hours to purchase the samples you need. The auditioning feature allows you to dir
  13442. ectly select the samples you want rather than having to take pot luck on the basis of a description of the sounds on a commercial sample CD sleeve. Big users of sound effects like audio post-production studios, multimedia developers and academic institutions can also acquire a facility at a fixed annual cost. Instant gratification - sounds good to me.
  13443. **MacDrive 7
  13444. *If you work - or intend to work -  in the audio business, you'll almost certainly come across a situation where you either ha
  13445. ve to read or write to a native Macintosh-format disk. This could be because you have to exchange audio with a Mac-equipped studio or perhaps send artwork materials to a graphics house for a cover design. While Macs can read and write PC formats quite happily, Apple users tend to be far less capable when dealing with situations that lie outside their normal experience, and this is especially true of graphic designers who tend to be Mac-based as a matter of course. To be fair to Mac users, 
  13446. this is all part of the 'philosophy' of the way Apple implements its systems, but it can become a problem if you need to get data across to a 'Mac head'. 
  13447. **The easiest solution is to deliver the data on a Mac-formatted disk, and I've been using a handy utility called MacDrive to do just this. Now at version 5, MacDrive does two things: it sits in the background and recognises whenever a Mac-formatted disk is inserted into a drive, handling its operation seamlessly, and it also adds a Mac
  13448. Drive submenu to the drive's Context menu that lets you format or copy a Mac disk. 
  13449. **The utility works with all media types, including floppies, ZIP, Jaz, ORB, SyQuest, hard drives, CD-ROMs and multisession CD-Rs. It also handles the 'typing' of files going in both directions - common file types are pre-configured - and offers a means of editing or defining types. This means that if you transfer a file to a Mac user, they'll be able to double-click on it to start the appropriate applicat
  13450. ion, as the Mac operating system will recognise the type of file. This works in the other direction as well, with MacDrive adding the correct file extension so that Windows will recognise the file type and start up the application currently configured for that file type. At $49 (
  13451. 31), MacDrive looks like a bargain. See <A HREF="http://www.mediafour.com/products/macdrive" target="_BLANK">www.mediafour.com/products/macdrive</A> for more details.
  13452. **A reader writes
  13453. *Reader Micky Lomman wrote 
  13454. recently to ask me this: 'I have heaps of audio tapes from the 1980s (sad but true) that I would like to burn onto CD via my computer. I've heard this is possible, but that is the extent of my knowledge in this area. What would I need and how would I do it?'
  13455. **In some ways, transferring and improving the quality of audio from cassette tapes is one the easiest recovery tasks you can do with your PC, because the main source of unwanted noise - tape hiss - is fairly constant, thanks to the w
  13456. ay the playback mechanism works. Getting good results from vinyl disks is far more difficult and time-consuming because of the nature of the medium.
  13457. **To get the best results for this task, you'll need a decent sound card - say, a Creative Labs Audigy - and a reasonable hi-fi-quality cassette player. The ultimate quality you can achieve in the process is defined by both the playback machine and the analog-to-digital converters in your sound card. Once the audio is in the digital domain, t
  13458. here'll be no further loss of quality except possibly as an artefact of the noise-removal process itself.
  13459. **On the software side, you'll need an audio editor that can reduce noise, such as Cool Edit (<A HREF="http://www.syntrillium.com/cooledit" target="_BLANK">www.syntrillium.com/cooledit</A>). Simply connect the output of your cassette machine to the line level input of your sound card, typically using a cable with twin RCA phono connectors to a stereo 2.5mm mini-jack. You'll probably n
  13460. eed to adjust the PC's recording level by juggling the cassette player volume control in combination with the mixer level controls on your PC's mixer application. You can do this by selecting the Recordings level panel from the Options | Properties dialog on your standard Windows audio mixer control panel. 
  13461. **If the recording was made using a Dolby noise-reduction system (usually Dolby B), you may want to turn this off on the cassette player. This will enhance the higher frequency respons
  13462. e, which is the first thing to suffer as a tape ages. In general, it's far easier to remove too much of something, like high frequencies, than to enhance them if they're too low.
  13463. *Once you've recorded the desired tracks onto your PC's hard disk, you can use the audio profiler from the noise-reduction dialog to determine the frequency characteristic of the tape hiss between two tracks. You then apply this profile to reduce the noise across the entire recording. Be aware that this process do
  13464. es affect the quality of the original signal as well, and if the hiss is at a high level you might start hearing 'underwater' effects or other artefacts, including a metallic quality to the original material you're trying to recover. 
  13465. **Profile-based noise-reduction systems - like that provided by Cool Edit - usually allow you to control the severity of the noise- reduction process, so you should be able to find an acceptable trade-off between the amount of hiss removed and the resulting 
  13466. quality of the recording. Also, if your tapes are very old, you may need to increase the treble using one of the equalisation options. Just remember to use your ears during the procedure! 
  13467. **One final point: remember that commercial releases are covered by International Copyright law, and re-recording them for personal use is illegal in a lot of countries - including the UK - since you've only paid for a licence in the original tape format. Some countries do allow this kind of archiving f
  13468. or personal use in conjunction with levying a blank tape/media tax, which gets reimbursed to the copyright owners (eventually). You'll need to check out the local legal situation before you embark on this kind of activity. The distribution of copyrighted material on a commercial basis without an appropriate licence is also illegal and may well be pursued through the courts by the copyright holder with the support of anti-piracy organisations.
  13469. HdBrian Heywood looks at how to find peculiar noises, stunning explosions and the odd footstep online.L    July 2003X
  13470. 105 (July 2003)i
  13471. MULTIMEDIA:AUDIO
  13472. Steve CassidyD
  13473. Just for KiX
  13474. Longevity isn't considered a virtue in the computer business. Even though a recently toughening market has slightly slowed the momentum of its tidal wave-like progress, we're still looking at typical product turnover times of around 18 months (for example, if Microsoft is to be believed, we'll soon be in shock and awe at the introduction of Windows 2003 Server). Despite this continual washing away of the old, though, some old themes have a way of repeatedly cropping up, pushing through all
  13475. consistentC
  13476. consistentlyy
  13477. consisting
  13478. consistsG
  13479. consolation
  13480. consolations
  13481. constables
  13482. constantN
  13483. +O+O+O+O+O
  13484. +O+O+O+O+O+O+O
  13485. O+O+O+O+O+O+O+O+O
  13486. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13487. O+O+O+O+O+O+O+O+O
  13488. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13489. O+O+O+O+O+O
  13490. +O+O+O
  13491. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13492. O+O+O+O+O+O+O+O+O
  13493. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13494. O+O+O+O+O+O+O+O+O
  13495. O+O+O+O+O+O+O+O+
  13496. O+O+O+O+O+O+O
  13497. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  13498. O+O+O+O+O+O+O+O+O+O
  13499. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  13500. O+O+O+O+O+O+O+O+O+O
  13501. +O+O+O+OO+
  13502. O+O+O+O+O+O+O+O+O
  13503. O+O+O+O+O+O+O+O+O+O
  13504. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  13505. O+O+O+O+O+O+O+O
  13506. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  13507. O+O+O
  13508. +O+O+O+O+O+O+O
  13509. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  13510. O+O+O+O+O+O+O+O+O+O
  13511. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  13512. O+O+O+O+O+O+O+O+O+O
  13513. +O+O+O+OO+O
  13514. +O+O+O+O+O+O+O+O
  13515. O+O+O+O+O+O+O+O+O+O
  13516. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  13517. O+O+O+O+O+O+O+O+O+O
  13518. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  13519. O+O+O+
  13520. O+O+O+O+O+O+O
  13521. +O+O+OO+O+O+O+O+O+O+O+O+O
  13522. O+O+O+O+O+O+O+O+O+O+O
  13523. +O+O+OO+O+O+O+O+O+O+O+O+O
  13524. O+O+O+O+O+O+O+O+O+O+O
  13525. +O+O+OO+O+
  13526. O+O+O+O+O+O+O+O
  13527. O+O+O+O+O+O+O+O+O+O+O
  13528. +O+O+OO+O+O+O+O
  13529. O+O+O+O+O+O+O+O+O
  13530. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  13531. %U%U%U%U%U%U%UI1I1J0J1I1I1
  13532. I1I1I1I1I1I1I1I1I1I1I1I1I1I
  13533. O+O+O+O+O+O+O+O+O
  13534. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  13535. %U%U%U%U%U%U%UI1I1J0J1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I1
  13536. O+O+O+O+O
  13537. O+O+O+O
  13538. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O+O
  13539. +O+O+O+O+O+OO+O+O+O+
  13540. O+O+O+O+O+O,N,O
  13541. OO+O+O+O+O+O+O
  13542. +O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O,N,O
  13543. OO+O+O+O+O+O+O
  13544. +O+O+O+O+O+OO+O+O+O+O+O+O+
  13545. O+O+O,N,O
  13546. OO+O+O+O+O+O+O
  13547. +O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O,N,O
  13548. OO+O+O+O+O+O+O
  13549. +O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O,N,O
  13550. OO+O+O+O+O+O+O
  13551. O+O+O+O+O+O+O
  13552. O+O+O+O+O+O+O+O+O
  13553. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13554. O+O+O+O+O+O+O+O+O
  13555. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13556. O+O+O+O+O+
  13557. O+O+O+O
  13558. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13559. O+O+O+O+O+O+O+O+O
  13560. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13561. O+O+O+O+O+O+O+O+O
  13562. O+O+O
  13563. O+O+O+O+O
  13564. O+O+O
  13565. O+O+O+z
  13566. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  13567. 2%U%U%U%U%U%U%UI1I1J0J1I1I1I1I1I1I1I1I1I1I1I1I1I1I1
  13568. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  13569. %U%U%U%U%U%U%+z
  13570. +O+O+OO+
  13571. O+O+O+O+O+O+O+O
  13572. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  13573. 2%U%U%U%U%U%U%UI1I1J0J1I1I1I1I1I1I1I1I1I1I1I1I1I1I1
  13574. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  13575. %U%U%U%U%U%U%
  13576. OO+O+O+
  13577. O+O+O
  13578. O+O+O+O+O+O
  13579. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  13580. %U%U%U%U%U%U%UI1I1J0J1I1I1I1I1I1I1I1I1I1I1I1I1I1I1
  13581. +O+O+O
  13582. O+O+O+O+O+O+O+O+O
  13583. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13584. O+O+O+O+O+O+O+O+O
  13585. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13586. O+O+O+O+O+O+O+O+O
  13587. O+O+O
  13588. O+O+O+O+O+O
  13589. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  13590. %U%U%U%U%U%U%UI1I1J0J1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I
  13591. wwwwww
  13592. UUUUUU
  13593. DDDDDD
  13594. """"""
  13595. O+O+O+O+O+O+O
  13596. O+O+O
  13597. O+O+O+z
  13598. +O+O+O+OO+O+O+O+O+
  13599. O+O+O+O+O
  13600. 2%U%U%U%U%U%U%UI1I1J0J1I1
  13601. +O+O+O+O+O+O+O+O+O+O
  13602. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  13603. %U%U%U%U%U%U%+
  13604. O+O+O+O+O+O+O
  13605. O+O+O+O+O+O+O+O
  13606. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13607. O+O+O+O+Oz
  13608. +O+O+O+O
  13609. O+O+O
  13610. O+O+O+O+O+O
  13611. O+O+O
  13612. O+O+O+z
  13613. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  13614. 2%U%U%U%U%U%U%UI1I1J0J1I1I1I1I1I1I1I1I1I1I1I1I1I1I1
  13615. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  13616. %U%U%U%U%U%U%+
  13617. O+O+O+O+O+O+O
  13618. O+O+O+O+O+O+O+O
  13619. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13620. O+O+O+O+Oz
  13621. +O+O+O+O
  13622. O+O+O
  13623. handlingC
  13624. reducedA
  13625. referG
  13626. referenceG
  13627. reference-and-resear
  13628. reference-related
  13629. referencedZ
  13630. referencesG
  13631. referencingf
  13632. referenda
  13633. referendum
  13634. referential
  13635. refererS
  13636. referers
  13637. referral
  13638. referredG
  13639. ~ffff
  13640. ffffff
  13641. ffff33
  13642. ff33ff
  13643. ff3333
  13644. 33ffff
  13645. 33ff33
  13646. 3333ff
  13647. 333333
  13648. O+O+O
  13649. O+O+O+z
  13650. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  13651. 2%U%U%U%U%U%U%UI1I1J0J1I1I1I1I
  13652. +O+O+O+OO+O+O+O+O+O+
  13653. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  13654. %U%U%U%U%U%U%+
  13655. O+O+O+O+O+O+O
  13656. O+O+O+O+O+O+O+O
  13657. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13658. O+O+O+O+Oz
  13659. +O+O+O+O
  13660. really
  13661. reassure@
  13662. repeat@
  13663. reveals
  13664. revelation
  13665. revolution@
  13666. ripping
  13667. rumour@
  13668. sceptical@
  13669. security
  13670. self@
  13671. sharpdevelop@
  13672. sibelius@
  13673. simon
  13674. brock
  13675. wrigley
  13676. through
  13677. implement@
  13678. simon
  13679. jones
  13680. explains
  13681. those
  13682. simon
  13683. jones
  13684. explains
  13685. notification
  13686. system
  13687. simon
  13688. jones
  13689. surfing
  13690. machete
  13691. wades
  13692. through
  13693. simon
  13694. jones
  13695. plays
  13696. latest
  13697. simon
  13698. jones
  13699. reader
  13700. misery
  13701. sorting
  13702. simon
  13703. jones
  13704. revisits
  13705. light
  13706. spreadsheet@
  13707. simon
  13708. jones
  13709. takes
  13710. trawl
  13711. through
  13712. mailbag
  13713. answer
  13714. some@
  13715. slide@
  13716. snatchers@
  13717. somebody@
  13718. speed@
  13719. spied@
  13720. standards@
  13721. steve@
  13722. steve
  13723. cassidy
  13724. fiddles
  13725. knobs
  13726. during
  13727. night-long
  13728. steve
  13729. cassidy
  13730. finds
  13731. behind
  13732. favour@
  13733. Davey WinderD
  13734. Read all about it
  13735. It's been quite a while since anyone asked me about Usenet newsreader clients or, indeed, about Usenet itself, which has become something of a niche channel in the face of competition from the Web and more immediate chat and conferencing systems. Usenet is far from dead, but it's struggling to rid itself of stigma-by-association with the pornmongers, spammers and virus writers (not to mention those sad trolls and flamers whose lives seem somehow validated by reducing newbies to tears).
  13736.  the glitz and glamour to keep up the good work in ways you didn't expect.
  13737. **I encountered one of these outcroppings the other day while putting together yet another Windows 2000 server. As force of habit dictates, I hauled out the Windows 2000 Resource Kit CD, slapped it in and went and had another coffee. In this particular case, the server build was part of a larger job that involved bringing in a new Citrix MetaFrame server, so I had a bit of a conundrum running around my mind. How co
  13738. uld I tell the various login scripts in the environment which PC they were running on, given that the old MetaFrame server hadn't moved its drive letters around (and was therefore booting from the drive C), whereas the new one had and so was booting from the drive M, which lay bang in the middle of the mapped drive spaces?
  13739. **A shudder of nostalgia passed over me, because on that Resource Kit CD install was a copy of KiXtart. Those of you whose floor joists are way over-specified may be ab
  13740. le to reach far back enough among your PC Pro back issues to find me eulogising about this little utility in 1995. Back then, I was bemoaning the lack of any facility in Windows NT equivalent to the login script feature in Novell NetWare. KiXtart was the best way to get this same flexibility of batch language at login time in a pure NT network as I had been used to under Novell. It's a cute utility, written by a chap at Microsoft Netherlands, and slipped out in line with the main release o
  13741. f the OS as a free add-on.
  13742. **Now here we are, eight years later. Novell is still around, not that you'd ever notice at our end of the small network market. If you believe the hype, we all now live in a brave new world of Microsoft networking. Active Directory is out there, it's mature and it's keeping all your stuff safe in its utterly incomprehensible grip. So why is this free and unsupported utility from 1995 still being supplied on the Resource Kit CD?
  13743. **Because it won't go away, that
  13744. 's why. A couple of months ago, I wrote about how fast you can make your inter-machine network copies run if you dodge past the junk involved in browsing the remote machine when you pick files up directly and drop them onto a machine name in the My Network Places. If, instead, you stick with the same kind of drive connection as was in vogue in 1987 (never mind 1995), your copies - and other file accesses - will go a good deal faster. And that connection method is, of course, made by mappin
  13745. g a drive letter. Now there are a few ways to map a drive letter:
  13746. **1) Pick 'Map network drive' from the Context menu of the Network share while you're looking at it in Explorer. 2) Type 'net use f: \\server \share' into a command-line window. 3) Deploy the Net Use command in a login script.
  13747. **In the majority of smaller networks, the first method is fine, but I do mean small. With more than three PCs, you should be thinking that one is going to become the 'server' so that the others all 
  13748. connect to that one. Much beyond three users and everyone from Steve Ballmer to Steve Cassidy wants you to have a real server OS at the heart of the show, and hence you'll need to keep track of who's sharing what.
  13749. **The good offices of the 'Net Use' command can sustain you for a few more users, but by the time you're out of the 20s and heading for the 30s things will start to get confusing in an insidious way - your time leaks away looking after the structures that will inevitably arise o
  13750. nce you have a gaggle of users to look after. Sure, you can have a different login script for each user. Sure, you can put users into security groups. But consider what happens when you add or remove a server. How can you work out which users were connected to it, and via what combination of drive mappings? Suppose you're splitting an old server in two (preferable in most small operations to just taking out small server A and bringing in big server B), and want to take a whole partition of
  13751. f it. Which network shares are mapped to what, and by which user login scripts? 
  13752. **It hurts your brain working this stuff out, mainly because there's no easy way in the standard login script to express a conditional branch. Nor is there an easy way to work out what security group someone belongs to. Back in 1987, I could express this trivially within NetWare by using an 'If member of...' construct in my login script. It's for this one little bit of syntax, even if for no other feature, th
  13753. at KiXtart is so useful. Given a few bits of such conditional logic, you can take all your user logins and consolidate them into a single script file, which being a chunk of vanilla plain text you can print out, annotate, debug and see clearly what it's doing.
  13754. **KiXtarting the network
  13755. *In the case of my current problem, another KiXtart feature has come to the rescue. As I mentioned, on this Citrix installation that I'm maintaining, there's an older server and a newer one. The old server w
  13756. as built so that the Citrix host drives are named C, D and so on, while the new server has taken advantage of the feature that shows local client PC drives within a Citrix session as C and D and the server's own drives as M, N and O. 
  13757. **In the medium-scale environment where these two servers are installed, this is just about acceptable at a technical level, but regrettably it confuses the regular users. What saves my bacon in this environment is that KiXtart lets me write 'If @WRKSTA="CSE
  13758. RVER" then ...', enabling the login script to retrieve the name of the machine it's running on and, in the case of the Citrix server, I want to radically simplify the range of drive letters that people see when logging in locally.
  13759. **The range of options provided when playing with KiXtart has matured slowly since 1995, but maturing is definitely the right word. Apart from the central resource at <A HREF="http://www.KiXtart.org" target="_BLANK">www.KiXtart.org</A>, which is where you go to 
  13760. get the main executable and enough information to get you going, there's now <A HREF="http://www.kixscripts.com" target="_BLANK">www.kixscripts.com</A>, which offers a paid-for commercial script editor and command reference environment. 
  13761. **This is a surprisingly necessary aide to have once you start playing with one large, central login script. Even though it's possible to move this login script out of action quickly by simply renaming the file, it can rapidly run out of steam as a means 
  13762. of protection against cocking up the latest addition to your system configuration. It only takes a couple of Domain Controllers before you start chasing the scripts hither and yon, and as Windows 2000 fully penetrates the market it will soon become vital to have as many Domain Controllers as your network will permit. This means the vital facilities within the KiXscripts editor for checking the consequences of a script modification have quickly become an important feature.
  13763. **If there's one
  13764.  area where KiXtart never did perform sensibly, it would be when working with the Registry. An astonishing range of workstation options can be set in several places that don't pop straight out at you without a good deal of looking around. The Group Policy editor is one glaring example, as is the behaviour specified in parts of the Registry relating to both what users can do and what the machine will do in response to that user. 
  13765. **However, when playing with Registry data, KiXtart stops lo
  13766. oking like the batch login language we've all been using for nearly two decades and starts to look a lot more like the Windows Scripting Host (WSH) - an offshoot of Visual Basic. You can deal with most of the drive mapping and user access stuff in a few lines of KiXtart. However, if you decide to save yourself the cost of an expensive user-sensitive web proxy that bars access to the Net according to username and instead uses Registry keys to tell specific users they can use a simpler proxy
  13767. , your login script will suddenly bloat from a few lines to a few tens of lines, which has to manipulate Registry keys with painfully long names and an even more painful, wilfully perverse syntax. Is that 'enable the disablement of the proxy' or the other way around? Search me.
  13768. **I've avoided considering this option within my login scripts up to now, for several reasons. One is that using such VB-alikes is manifestly programmers' territory. While I don't mind knocking out a two- or three-
  13769. page batch script to log into a diverse and complicated network, I draw the line at ten-pagers, eight of which are full of includes, structure definitions, commentary, and long calls to Windows API primitives. 
  13770. **Another reason is that it's astonishing what will break an executable with so many referring pieces of code. I've encountered large companies in which WSH is now banned, because some virus or Trojan several years ago used an exploit long closed up by a security patch or virus sca
  13771. nner. Their IT guys still associate the scripting host with all kinds of Bad Stuff, a wholly typical - technically incorrect but organisationally immovable - reaction that's becoming increasingly common in large outsourced networks. 
  13772. **And third, there's a longevity issue: WSH has been around for about half as long as KiXtart and, despite the weird disparity in their apparent commercial statuses, I know where I'd rather drop a technical support question. As so often happens given the way 
  13773. Windows is put together, it seems peculiar that a tool this useful should blossom not quite in the commercial arena, and not quite in the shareware. Microsoft shouldn't quite compete with it (in the shape of WSH), while at the same time it offered a massively overcomplicated structure like Active Directory that deals with a load of highfalutin' structural approaches to user authentication without going the final three steps to attach a login script directly to each user's own records. 
  13774. In NetWare ten years ago, a single browsing environment enabled you to look at all the parts of your user's setup (groups, scripts and so on), but in the Microsoft world it's a matter of following up a half-mentioned link on the Resource Kit CD, taking the decision to turn your face away from all the official communiqu
  13775. s and then searching the Web for an updated version of KiXtart. Is this what product maturity should look and feel like?
  13776. H\Steve Cassidy questions product maturity when he's resigned to using old tools for new jobs.L    July 2003X
  13777. 105 (July 2003)i
  13778. Networks
  13779. continueA
  13780. control/bug-trackingq
  13781. control/monitoring
  13782. controlledV
  13783. controllerC
  13784. controllersA
  13785. controllingF
  13786. controlsC
  13787. controversyt
  13788. conundrumO
  13789. conundrumsb
  13790. +O+O+OO+O+O+O+O+
  13791. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  13792. %U%U%U%U%U%U%+
  13793. O+O+O+O+O+O+O
  13794. O+O+O+O+O+
  13795. +O+O+O+O+O+O
  13796. O+O+O+O+O+z
  13797. +O+O+OO+
  13798. O+O+O+O+O+O+O
  13799. O+O+O
  13800. +O+O+Oz
  13801. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  13802. 2%U%U%U%U%U%
  13803. +O+O+
  13804. +O+O+OO+O+O+
  13805. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  13806. %U%U%U%U%U%U%+
  13807. O+O+O+O+O+O
  13808. O+O+O+O+O+O+O+O
  13809. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  13810. O+O+O+O+Oz
  13811. +O+O+O+O
  13812. O+O+O+O+O+O+O
  13813. O+O+O
  13814. O+O+O+z
  13815. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  13816. %U%U%U%U%U%
  13817. +O+O+
  13818. +O+O+OO+O+
  13819. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  13820. %U%U%U%U%U%U%+
  13821. O+O+O+O+O+O+O
  13822. O+O+O+O+O+O+O+O
  13823. +O+O+O+O+O+O
  13824. O+O+O+O+O+O+O+O+O+O+O
  13825. +O+O+OO+
  13826. O+O+O
  13827. O+O+O+O+O+O
  13828. noticeableE
  13829. noticeably
  13830. noticedH
  13831. notificationG
  13832. notifications
  13833. notifiedx
  13834. incorporateI
  13835. incorporatedH
  13836. incorporatesZ
  13837. incorporating
  13838. incorporationy
  13839. incorrectO
  13840. 216.239.53.104G
  13841. 21600
  13842. 216gb
  13843. 21stb
  13844. 21st-century
  13845. 22-page
  13846. 22.2in
  13847. 22.73
  13848. 22.95
  13849. 22000
  13850. 220000
  13851. 220mhz
  13852. 225966
  13853. 225mhz
  13854. 228039
  13855. 229.99
  13856. 22bis
  13857. 22khzE
  13858. 22khz/eight-bit/mono
  13859. 23-page
  13860. rescueO
  13861. rescued
  13862. rescuing
  13863. researchG
  13864. research's
  13865. research-desk
  13866. research/srg
  13867. researched
  13868. researcher
  13869. researchers
  13870. researchers/experts
  13871. researching
  13872. reseats
  13873. reselect
  13874. resell
  13875. reseller
  13876. reseller's
  13877. resolutionC
  13878. tendE
  13879. tender
  13880. tendered
  13881. tendering
  13882. tenders
  13883. tendsL
  13884. U%U%U%U%U%+
  13885. O+O+O+O+O+O+O
  13886. O+O+O+O+O+
  13887. +OO+O+O+O+O+O+O+O+O+{
  13888. +O+O+OO+
  13889. O+O+O+O
  13890. O+O+O+O+O
  13891. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  13892. 2%U%U%U%U%U%U
  13893. +OO+O+O+
  13894. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  13895. O+O+O
  13896. +O+O+O+O+O+O+O+O
  13897. +O+O+OO
  13898. +O+O+
  13899. +O+O+OO+O+O+O+O+O+O+O+O+{
  13900. +O+O+OO+
  13901. O+O+O+O
  13902. O+O+O+O+O
  13903. +O+Oz
  13904. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  13905.  %U%U%U%U%U%U
  13906. +O+O+O+O+O+O
  13907. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  13908. %U%U%U%U%U%U%+
  13909. O+O+O+O+O+O+O
  13910. O+O+O+O+O+
  13911. +O+O+OO+O+O+O+O+O+O+O+O+{
  13912. +O+O+OO+
  13913. O+O+O+O+O+O+O
  13914. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  13915. 2%U%U%U%U%U%U
  13916. welcomeH
  13917. welcome
  13918. brand-new
  13919. world
  13920. column
  13921. about
  13922. designing
  13923. welcome
  13924. brand-new
  13925. world
  13926. column
  13927. isn't
  13928. really
  13929. welcome
  13930. office
  13931. column
  13932. which
  13933. considering
  13934. welcome
  13935. first
  13936. server-side
  13937. column
  13938. coming
  13939. welcomed\
  13940. welcomes
  13941. welcoming
  13942. updaterF
  13943. updatesA
  13944. updates/default
  13945. updatingA
  13946. upgradingG
  13947. Tom ArahD
  13948. Table manners
  13949. It's a hard life for the web designer. Print-based designers can precisely set every feature of a page layout right down to the nearest thousandth of a point, but the absolute precision of PostScript is merely a dream for web designers. Instead, they must work with the vagaries of browser-based HTML interpretation on a seemingly endless range of screen sizes.
  13950. **Despair not, though, as it is possible to take control of your web page layouts. You can start by appreciating that HTML's fluid 
  13951. Ranting aside, Usenet can still be useful, but you need the right access method and some measure of content control. That being so, what newsreader clients would I recommend these days? I've been dreading this question, because the truth is I still recommend the same trio I'd have done several years ago: Agent, Ameol and Outlook Express. 
  13952. **Blasphemy perhaps, but Outlook Express really is a decent-enough newsreader, provided you keep up with security patches and can't be bothered to downl
  13953. oad anything better (and, believe me, a lot of folk can't). I recommend making the effort, though, and for my own needs the best newsreader of the three is Ameol, the standard offline reader for the Cix conferencing system (<A HREF="http://www.cix.co.uk" target="_BLANK">www.cix.co.uk</A>). Ameol provides both dial-up and Telnet access to Cix and stores all message bases and email locally. I keep all my conferencing activity and email within Ameol, but also the few dozen technical newsgroup
  13954. s I subscribe to now are stored there as well. I like this integrated storage, because for me Usenet is about conversational flow rather than the downloading of pornographic binaries and so its natural place is alongside my other conversationally oriented activities. Being primarily a conferencing tool, Ameol does a fine job of threading messages, and I can prune and manage my newsgroup bases at the same time as everything else. 
  13955. **If you're not a Cixen and don't want to become one (and s
  13956. hare the debates and information exchanges in our very own PC Pro conferences), the remaining news client choice has to be Agent from Fort
  13957.  (<A HREF="http://www.forteinc.com" target="_BLANK">www.forteinc.com</A>). Don't confuse this with Free Agent, its cut-down and, as the name suggests, free little brother. I won't bore you here with a long comparison list - visit the Fort
  13958.  website to read about all the differences - but be advised that the investment of $30 (
  13959. 20) in the commercial versi
  13960. on will quickly repay itself, as it's a highly functional client. Don't expect a modern-looking interface, though, as Agent has changed little over the years - it's best to take the 30-day trial before parting with your cash. 
  13961. **There are a couple of other options that would best suit an occasional Usenetter rather than the committed conversationalist; namely, Opera 7 (<A HREF="http://www.opera.com" target="_BLANK">www.opera.com</A>) - which has an integrated mail and newsreader that's mo
  13962. re than good enough for low-volume users - and my preferred alternative, Google. 
  13963. **You heard right, Google. To be more precise, Google Groups (<A HREF="http://groups.google.com" target="_BLANK">http://groups.google.com</A>), formerly the highly respected D
  13964.  Vu Usenet archive, which Google bought, tweaked and relaunched as a web-based archive of millions of newsgroup postings going back a decade or more. Free to use, fast and simple, you couldn't ask for much more. You'll need to regist
  13965. er before posting messages, but you can read as many as you like as a guest. Use it like any other Google engine via keyword searches: enter a topic and you get back a list of postings that match. In essence, it filters out the rubbish for you and presents just those postings you're interested in. Unless, that is, your interest lies in images, movies or application code, as Google Groups is a no-binary zone.
  13966. **The Proxomitron
  13967. *When it comes to my online life, I'm something of a control fr
  13968. eak (probably compensating for the fact that Madame keeps me firmly in my place in domestic matters). I like to be the one who says what my browser should and shouldn't display rather than some Laurence Llewellyn-Bowen of a web designer or a marketer who's been let loose with an HTML editor and an inflated budget. 
  13969. *That's why I've collected various utilities over the years that enable me to do everything from removing corporate branding to filtering out adult material when one of my kids 
  13970. is online. And if there's some particular irritant that I can't find an off-the-shelf cure for, I'm not averse to rolling up my sleeves and digging around in the Registry or the source code to sort it. 
  13971. **The trouble with this approach is that you end up with lots of tools for different jobs, and hence lots of learning curves to master. There are some all-in-one solutions claiming to be magic bullets that shoot down all your troubles, but unfortunately more often than not these prove to b
  13972. e just extra problems in disguise. So when all of a sudden everyone I respect in this industry was telling me about a product they can't cope without, I decided it was time to get to grips with it even though it has been around for some time. 
  13973. **To be honest, I've never seen so much agreement among hard-core techies, journalists and consultants - it's spookily reminiscent of Invasion of the Body Snatchers, which isn't a bad comparison given the science- fiction name of this wonder product
  13974. , The Proxomitron, and the unreal way it does just about anything you ask of it. Pop along to <A HREF="http://www.proxomitron.org" target="_BLANK">www.proxomitron.org</A> and download the latest version, and then you'll be able to take control of your online life too.
  13975. **You don't see many applications like The Proxomitron nowadays - even the installation routine is good, clean fun. No files get copied to folders outside of its own, no Registry changes are made, and no ini files are modifi
  13976. ed. Heck, you don't even need the installer, as it's as easy to dump the unzipped files wherever you like and run them. If you need to move them later, you simply do it, and uninstallation is naturally just as painless. 
  13977. **You've probably guessed from the function hinted at by its clever name that The Proxomitron runs as a local proxy server - a middleman sitting between your browser and web servers out in the great beyond. All page requests go and come back through it, which means The Pr
  13978. oxomitron needs to be running if you want your browser to do anything other than look pretty (and empty). It works well with existing proxies and can help you compile and maintain a list of multiple proxies, between which you can switch at will. 
  13979. **Once The Proxomitron is installed and running, you can start to have fun tweaking it, which involves firing up one of its two configuration boxes. The first is the Web Page Filter dialog, which contains most of the toggle switches you'd expect 
  13980. - such as banner and pop-up blockers - but also plenty you wouldn't, such as Flash animation killers, forcing pop-ups to display proper browser controls and preventing automatic browser resizes. 
  13981. **One of my favourites is the re-enabling of right-mouse clicks on those sites that decide to forbid it because they think it will stop you cutting, copying or pasting (they've obviously never heard of screen- capture apps like HyperSnap-DX or SnagIt). Where things get even more exciting for the 
  13982. fatally obsessed hacker is when you click on the New button and discover the ability to build your own filters. 
  13983. **However, The Proxomitron has more tricks up its capacious sleeves, as there's a second filter dialog box devoted to HTTP headers, those bits that get sent in each handshake between client and server that most users are either unaware of or don't care about. They should care, because it's here you can easily find your privacy frittered away. 
  13984. **Maybe that's too strong, as the
  13985.  majority of websites don't do any cloak-and-dagger work behind your back, but it doesn't hurt to know what's really going on, does it? The Proxomitron not only lets you see these hidden headers, but also edit or delete them, with most of its options again just a checkbox (or two) away. This dialog box has toggles for both inward and outbound header actions, and its default selections include the ability to 'fake' or kill an outward cookie, to hide referrer details, and to toggle between a
  13986.  selection of browser client IDs such as Netscape, Opera or Lynx (and, of course, you can add your own options to this list at will). 
  13987. **The whole Proxomitron thing has a feel of those good old days of online community: while it isn't open source, it's free, nothing is crippled and there are certainly no nag screens (and even if there were, you get the feeling there would be options to toggle them). The author simply asks for anyone interested enough to send him music by the Japanese trio
  13988.  Shonen Knife, who he seems to really like. 
  13989. **A lot of thought went into the development of this application, and the author admits that he wanted not only to cure the web irritations of the time (remember the Netscape-induced blinking text nightmare) but to future-proof it so that it could cope with anything the Web would throw at it in years to come. None of its default filters are hard-coded, so you can edit them to your own needs and adapt them whenever the Web fights back. A whole c
  13990. ommunity of Proxomitron users has built up, and a quick search will soon point you in the direction of numerous additional filters and tweaks, strewn across the Web. 
  13991. **The Proxomitron is that rarest of beasts: a free, usable, effective tool that not only does everything it promises but pretty much anything else you can throw at it too. I'm uneasy suggesting you should make a habit of changing every web page you don't like the look of, but it's quite possible to do so once you've got to g
  13992. rips with this software - you can switch off frames, 'de-table' a page, turn confirm action boxes off, change JavaScript code, turn off style sheets and so on. 
  13993. **Of course, once your obsession builds to that degree, it's beyond control and has become something a little more sinister. One can't help but think that if you hate web pages so much, why not throw away your browser or visit only pages you designed yourself. But used in moderation, you won't find a more effective and useful tool
  13994.  on the Web, and you'll join me and my friends in body-snatched bliss.
  13995. **Problems, Problems...
  13996. *It seems the saga of the Net Send/RPC spam is set to run and run - or perhaps that should be 'pop up' - all over the place. Despite myself and just about every other RWC contributor having banged on about this for months, my mailbox is still awash with complaints, concerns and requests for a cure. As has been said time and time again, the cure is simply to ensure your firewall closes port 135. 
  13997. **Although closing down the messenger service will cure the problem (and I've mentioned that here before), it isn't a grown-up solution and should only be thought of as either a knee-jerk first response or a last-ditch effort. Most of the utilities that say they can cure the messenger spam just close down the service and so are a waste of time and money. 
  13998. **To see if you're vulnerable - as if you wouldn't already know by the volume of this rubbish that appears - pop over to <A HREF="htt
  13999. p://www.mynetwatchman.com/winpopup.asp" target="_BLANK">www.mynetwatchman.com/winpopup.asp</A>, where a quick test can determine your position. I also thought that the hard sell at <A HREF="http://www.directadvertiser.com" target="_BLANK">www.directadvertiser.com</A> should be essential browsing for anyone who doubts the scale of the problem - it truly makes for sombre reading.
  14000. **Another problem that seems to be bugging readers, clients and my own family is the old chestnut of Microsoft a
  14001. pparently not being able to make its browser print properly formatted pages. This has been going on for longer than I care to recall, but you'll still find a large percentage of pages that you try to print will chop off an inch or so of content towards the right margin. The problem is such that I always preview before printing and, if the problem appears, deal with it before hitting the OK button. 
  14002. **The answer's simple, if somewhat annoying, and is admittedly a bodge - but hey, it works,
  14003.  so I'm not complaining. Just set any rogue pages to print landscape rather than portrait and there'll be enough room for those wandering margins. 
  14004. **The alternative is to use a different browser, and PC Pro has reviewed plenty in the last six months. Unfortunately, my favourite, NetCaptor 7.1, uses the IE rendering core so suffers the same problem. Both Mosaic and Opera, funnily enough, manage the print thing with ease. Are you listening Microsoft? For all our sakes, and to regain a litt
  14005. le credibility with my five-year-old son who can't understand why his brilliant computer can't print a page properly, get this sorted in the next Service Pack release.
  14006. **Several readers have been in touch since I looked at MailWasher recently, mainly to shake my hand for bringing it to their attention while slapping me with their other hand because it's no longer free and seems to be a different product. I can assure you all, it is the same application, but the branding has changed and no
  14007. w comes under the Firetrust banner. 
  14008. **As for its going commercial, who can blame the developers for finally, after many years, coming to the conclusion that they need a properly structured income stream in order to pursue future product development? Certainly not me, as I'd be more than happy to part with my cash for this application. After all $30, a tad short of 
  14009. 20, is hardly a king's ransom when you think of the freedom from spam it can bestow. 
  14010. **And there's evidence that these guy
  14011. s mean what they say about development strategies. As I write, I've been in touch with MailWasher's creator and joined the beta programme to help test the forthcoming Content Filtration System (CFS). This will tap into the well-established community of MailWasher users - there have been more than two million downloads of this application - to report spam into a central database. Okay, this isn't a new idea and there are plenty of similar schemes out there already with varying degrees of su
  14012. ccess (see Google for more information), but from the little I know so far it does look like this one could work. 
  14013. **The idea is that once a spam is reported and, most importantly, verified as such, no other MailWasher will ever get one from that particular originator again. The verification process is vital, and CFS won't rely on computer filtration and pinging to do this, but instead will involve a two-person process; namely, the MailWasher user reporting the spam and the CFS administra
  14014. tor checking it. 
  14015. **Firetrust has developed a ranking system to ensure the most common spams are verified first, and using real people should prevent blocking of such things as list servers with which a user is fed up - a toggle switch can allow the admin staff to turn off any user's ability to report spam should they abuse the system. This does seem slightly at odds, though, with a declaration that all reports will be anonymised before being submitted to the database to protect the sende
  14016. r from retaliation: I guess such things will get sorted in the wash as it's early days yet. 
  14017. **I like the idea that spam will get categorised by subject, so it will ultimately be possible to block 'jokes' or 'gland enlargement', but I'm not so keen on this being a chargeable service. With so many free alternatives around, Firetrust is going to have make this one 100 per cent spam-proof to pick up any client business. Perhaps more saleable will be the server version, which enterprises coulaOd find useful in keeping the lid on spam in the workplace. Only time will tell.
  14018. HQAfter a month laden with problems, Davey Winder is visited by the body snatchers.L    July 2003X
  14019. 105 (July 2003)i
  14020. Online
  14021. quickG
  14022. quieten
  14023. fibreJ
  14024. fibre-connected
  14025. fibre-intelligent
  14026. fibre-opticr
  14027. fibrechannel-pd
  14028. fibred
  14029. fibres
  14030. fickle
  14031. fickle
  14032. so-and-so
  14033. aren't
  14034. couple
  14035. months
  14036. fictionP
  14037. fictional
  14038. fictitious
  14039. fiddleJ
  14040. fiddle-factor
  14041. fiddledi
  14042. fiddlerl
  14043. fiddler's
  14044. fiddlers
  14045. fiddlingF
  14046. forteincP
  14047. fortezza
  14048. forthA
  14049. fortunatelyL
  14050. fortune
  14051. fortunes
  14052. 31.25
  14053. 31.25kbits/sec
  14054. 31.37
  14055. 31.40703517588
  14056. 31.76
  14057. 31/12/1899
  14058. 31/12/99
  14059. 31000
  14060. 311410A
  14061. 3120w
  14062. 31sto
  14063. 32-bitA
  14064. 4.7gb
  14065. 4/cssy
  14066. 4/pdfH
  14067. 4/windowsi
  14068. +O+OO+O+O+O+O+O
  14069. +O+O+O+O+O+OO+O+O+O+O+O+{
  14070. +O+O+OO+
  14071. O+O+O+O+O+O+O
  14072. O+O+O
  14073. O+O+O+z
  14074. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  14075. 2%U%U%U%U%U%U%U
  14076. +O+O+OO+O+O+O+O+
  14077. +O+O+OO+O+O+O+O+O+
  14078. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  14079. %U%U%U%U%U%U%+
  14080. O+O+O+O+O+O+O
  14081. O+O+O+O+O+
  14082. +O+O+O+OO+O+O+O+O+O
  14083. +O+O+O+O
  14084. O+O+O+O+O+O+O
  14085. O+O+O
  14086. O+O+O+z
  14087. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  14088. 2%U%U%U%U%U%U%
  14089. +O+O+OO+O+O+O+O
  14090. +O+O+O+O+O+O
  14091. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  14092. O+O+O
  14093. +O+O+O+O+O+O+O+O
  14094. +OO+O+O+O+O+O+O+O+O+{
  14095. +O+O+OO+
  14096. O+O+O+O+O+O+O
  14097. O+O+O
  14098. O+O+O+z
  14099. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  14100. 2%U%U%U%U%U%U%
  14101. +O+O+O+O+O
  14102. +O+O+OO+O+O+O+O+O+O+O+O+O
  14103. boxingB
  14104. boxing/unboxing
  14105. boxout
  14106. boxouts
  14107. boxrect
  14108. boy'so
  14109. boylank
  14110. brain-deadp
  14111. brainchild
  14112. brainjuicer
  14113. brainsZ
  14114. brainstorm
  14115. brainstorming
  14116. brainwaveZ
  14117. brake
  14118. bramW
  14119. branchO
  14120. branchesS
  14121. brandY
  14122. brand-newC
  14123. branded
  14124. brandingJ
  14125. brandsb
  14126. brassK
  14127. brats
  14128. braveO
  14129. braved
  14130. handwritingD
  14131. handwriting
  14132. recognition
  14133. achilles
  14134. handwriting-recognitD
  14135. handwrittenJ
  14136. handyA
  14137. handy-dandy
  14138. handyside
  14139. ipaq's
  14140. ipaqsu
  14141. ipconfigV
  14142. ipconfig/release
  14143. ipconfig/renew
  14144. ipendpoint
  14145. iphostentry
  14146. ipindex
  14147. iplay
  14148. ipodj
  14149. dejaP
  14150. dejanews
  14151. dekeles
  14152. delaney's
  14153. delaware
  14154. delayB
  14155. delayedQ
  14156. delayed-write
  14157. delayingq
  14158. delaysa
  14159. delectation
  14160. delegatey
  14161. delegate/event-handl
  14162. buggyE
  14163. bugless
  14164. buglets
  14165. bugnet
  14166. bugsE
  14167. build-time
  14168. 1I1J0J1I1I1I1I1I1I1I1I1I1I1I1I1I1I1
  14169. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  14170. %U%U%U%U%U%U%+
  14171. O+O+O+O+O+O+O
  14172. O+O+O+O+O+O+O+O
  14173. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  14174. O+O+O+O+Oz
  14175. +O+O+O+O
  14176. O+O+O
  14177. O+O+O+O+O+O
  14178. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  14179. 2%U%U%U%U%U%U%UI1I1J0J1I1I1I1I1I1I1I1I1I1I1I1I1I1I1
  14180. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  14181. %U%U%U%U%U%U%+
  14182. O+O+O+O+O+O+O
  14183. O+O+O+O+O+
  14184. +O+O+O+O+O+O+O+O
  14185. I+O+O+O+O+O+O+O
  14186. +O+O+O+O+O+O
  14187. +O+O+O+O
  14188. O+O+O
  14189. O+O+O+O+O+O
  14190. +O+OO+O+O+O+O+O+O+O+O+O
  14191. 4%U%U%U%U%U%U%UI1I1J0J1I1I1I1I1I1I1I1I1I1I1I1I1I1I1
  14192. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  14193. %U%U%U%U%U%U%+
  14194. O+O+O+O+O+O+O
  14195. O+O+O+O+O+
  14196. +O+O+O+OO+O+O+O+O+O
  14197. +O+O+O+O+O+OO+O+O+O+O+O+{
  14198. +O+O+OO+
  14199. O+O+O+O+O
  14200. O+O+O+O
  14201. O+O+O
  14202. O+O+O+z
  14203. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  14204. 2%U%U%U%U%U%U%U
  14205. +O+O+OO+O+O+O+O+
  14206. +O+O+OO+O+O+O+O+O+
  14207. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  14208. %U%U%U%U%U%U%+
  14209. O+O+O+O+O+O+O
  14210. O+O+O+O+O+
  14211. rantingP
  14212. rants
  14213. raouf
  14214. rapaciously-configur
  14215. raphael
  14216. rapidY
  14217. rapid-response
  14218. rapidlyO
  14219. rarer
  14220. rarestP
  14221. raring
  14222. rarity
  14223. rashly
  14224. raster[
  14225. rasterisationn
  14226. rasterise
  14227. rasterisedn
  14228. rasterising
  14229. rasterize
  14230. pinkI
  14231. pink-tinted
  14232. pinks
  14233. pinnacle
  14234. pinnacle's
  14235. pinnaclesys
  14236. pinnedQ
  14237. pinner
  14238. pinning
  14239. pinpoint
  14240. pinpoint's
  14241. pints
  14242. pinvoke
  14243. pinvokesample
  14244. pioneerT
  14245. pioneer's
  14246. pioneeredQ
  14247. pioneering
  14248. pioneers
  14249. pious
  14250. pipeM
  14251. pipe-dream\
  14252. piped
  14253. pipedream
  14254. pipelineT
  14255. pipelinesp
  14256. pointedC
  14257. pointerB
  14258. pointingE
  14259. pointsA
  14260. policiesC
  14261. policyC
  14262. polishedJ
  14263. submittedP
  14264. submitter
  14265. submitters
  14266. submitting
  14267. subnetA
  14268. subnetsF
  14269. subnotebook
  14270. subnotebooks
  14271. suboptimalw
  14272. suboption
  14273. subordinate
  14274. subpixel
  14275. subproblems
  14276. subproject
  14277. subprojects
  14278. subquery
  14279. subroutine
  14280. subscription-based
  14281. subscriptionsG
  14282. subsection
  14283. subsectionsr
  14284. subselectse
  14285. subsequentG
  14286. O+O+O+O+O+O
  14287. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  14288. O+O+O+O+O+O+O+O+O
  14289. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  14290. O+O+O+O+O+O+O+O+O
  14291. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  14292. O+O+O+O+O+O+O+O+O
  14293. O+O+O+O+O+O+O+O+O+O+O+O1+O+O+O
  14294. O+O+O+O+O+O+O+O+O
  14295. O+O+O+O+O+O+O+O+O+O+O+
  14296. +O+O+O
  14297. O+O+O+O+O+O+O+O+O
  14298. O+O+O+O+O+O+O+$
  14299. +O+O+O+O
  14300. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O,N,O
  14301. OO+O+O+O+O+O+O
  14302. +O+O+O+O+O+O+O{
  14303. +O+O+O+O
  14304. O+O+O+O
  14305. O+O+O+O+O
  14306. +O+O+OO+O+O+O+O+O+O+O+O+O
  14307. I2+O+O+O+O+O
  14308. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  14309. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  14310. %U%U%U%U%U%U%+
  14311. O+O+O+O+O+O+O
  14312. O+O+O+O+O+O+O+O
  14313. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  14314. O+O+O+O+Oz
  14315. +O+O+O+O
  14316. O+O+O+O+O+O+O+O
  14317. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  14318. 2%U%U%U%U%U%U%UI
  14319. O+O+O+O+O+O+O+O+O
  14320. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  14321. O+O+O+O+O+O+O+O+O
  14322. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  14323. O+O+O+O+O+O+O+O+O
  14324. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  14325. O+O+O+O+O+O+O+O+O
  14326. O+O+O+O+O+O+O+O+O+O+O+O
  14327. +O+O+O
  14328. O+O+O+O+O+O+O+O+O
  14329. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  14330. O+O+O+O+O+O+O+O+O
  14331. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  14332. O+O+O+O+O+O+O+O+O
  14333. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  14334. O+O+O+O+O+$
  14335. OO+O+O
  14336. O+O+O+O+O+O+O
  14337. %UI1I1I1I1I1I1I1I1I1I
  14338. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  14339. %UI1I1I1I1I1I1I1I1I1I
  14340. O+O+O+O+O+O+O+O+O+O+O+O
  14341. %UI1I1I1
  14342. I1I1I1I1I1I1I
  14343. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  14344. %UI1I1I1I1I1I1I1I1I1I
  14345. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  14346. %UI1I1I1I1I1I1I1I1I1I
  14347. O+O+O+O+O+O
  14348. +O+O+O+O+O+O+O+O
  14349. %UI1I1I1I1I1I1I1I1I1I
  14350. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  14351. %UI1I1I1I1I1I1I1I1I1I
  14352. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  14353. %UI1I1I1I
  14354. 1I1I1I1I1I1I
  14355. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  14356. O+O+O+O+O
  14357. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  14358. O+O+O+O+O+O+O+O+O
  14359. O+O+O+O+Oz
  14360. +O+O+O+O
  14361. O+O+O
  14362. O+O+O+O+O+O+O+O+O
  14363. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  14364. O+O+O+
  14365. nature - layouts automatically flow to fill browser windows of any size - is actually very effective for the Web as it was originally conceived; that is, for disseminating scientific papers. However, such crude, single-column layouts are hardly exciting and become virtually unreadable at the line lengths supported by modern high-resolution screens.
  14366. **The original layout solution was pioneered back in 1995 when Netscape introduced new tags for dividing the screen into tables, which were qu
  14367. ickly adopted by other browser developers and incorporated into the HTML 3.2 specification. HTML tables are tag based so it's possible to create them from scratch in a text editor, but it's much easier to produce them interactively in a visual authoring environment. 
  14368. **Every HTML-authoring package lets you create tables via an Insert | Table command where you specify the number of rows and columns. On switching to Code or Split view, you can inspect the nested tags generated to create a s
  14369. imple two-column by two-row table:
  14370. *<table width="100%" border="1" cellspacing="0" cellpadding="0">
  14371. *  <tr>
  14372. *    <td>&nbsp;</td>
  14373. *    <td>&nbsp;</td>
  14374. *  </tr>
  14375. *  <tr>
  14376. *    <td>&nbsp;</td>
  14377. *    <td>&nbsp;</td>
  14378. *  </tr>
  14379. *</table><P>
  14380. *The main element is the outer <table> tag, which takes attributes that set the overall width (here 100% to fill the fu
  14381. ll width of the browser window); the border (here 1, so you can see the table grid), and the cellspacing and cellpadding that control spacing between cells and cell content. 
  14382. **Interestingly, there are no <table> attributes for the most fundamental factor - the number of rows and columns. Instead, these are handled incrementally as they're downloaded in keeping with HTML's streaming nature. The opening <tr> tag tells the browser to start a Table Row, followed by any number
  14383.  of cells enclosed in <td> and </td> Table Data tags (the "&nbsp;" code for a hard space is added to prevent browsers ignoring empty cells). When the browser hits the closing </tr> tag it can render one completed row and start on the next, lining up the new <td> data cells with the previous ones to produce de facto columns.
  14384. **This looks straightforward, but it's worth experimenting by creating a multicelled table and randomly scattering varying amounts 
  14385. of text through it. Within your authoring program, columns start off equally spaced and each cell will grow vertically to accommodate the text as you'd expect, but preview the page in a browser and the results are very different - columns containing more content are wider than those containing less. Resize the browser window and the column widths will shrink and grow, both absolutely and relative to each other (and different browser versions might well produce different results) - bizarre 
  14386. behaviour that has reduced generations of designers to nervous wrecks.
  14387. **What's going on? Remember that <table> tags were invented to handle scientific data, and the browser's function is to show the tabular data on whatever screen size with which it's presented. It has its own ideas on how best that should be done - as Netscape puts it, 'complex heuristics are applied to tables and their cells to attempt to present a pleasing looking table'. The problem for designers is that the 
  14388. results of this 'smart formatting' are often anything but pleasing, and clearly they need to take tighter control of the sizing of tables. In fact, this is relatively straightforward - at least in principle - as both <table> and <td> tags offer a 'width' attribute.
  14389. **We've already seen the width="100%" attribute, which makes a table fill the full browser window. Other percentages allow you to set each <td> cell to be a proportion of the total table width. More sign
  14390. ificant still is the ability to set an absolute pixel size, so <td width="500"> will create a cell/column 500 pixels wide irrespective of the size of the browser window. Width isn't absolutely fixed as it would be in a DTP application, though, because cells can still expand if they're too small to contain their content (say, an embedded bitmap image), or if some later cell in the same column has a wider setting.
  14391. **Nevertheless, this is a huge step toward the control you need for l
  14392. aying out web pages. The first decision is the most important - assuming you want a fixed-width layout, how wide should it be? You're still faced with the fact that screen sizes vary, and if you set a table width larger than the window your users will have to scroll horizontally to read each line (which they won't do for long before fleeing). An obvious solution is to aim at some lowest common denominator, which on desktop PCs is 640 x 480. Then you must consider scroll bars and different 
  14393. browser setups, again aiming at the lowest common denominator (in this case, Internet Explorer 4.5 on a Mac). Playing it very safe leads to a maximum pixel width of around 580.
  14394. **Side-by-side
  14395. *But of course, the main advantage of a table is side-by-side text. The classic web layout is a separate column of alternative page links to the left of the main body copy, easily achieved with the Table | Insert Column command that automatically adds extra <td> elements to the existing <
  14396. tr> elements (much simpler and safer than hand coding). By default, these <td> cells have no width attribute, but you can change this by interactively dragging on the cell side. Note, though, that in many applications the resulting widths won't add up to the full table width, so it's better to set them manually. A width of 130 pixels for the links column leaves 450 pixels for the main copy column, which might not sound much but at the default browser text size leads to readable
  14397.  line lengths of around 12 to 15 words.
  14398. **This two-column by one-row layout is still pretty basic, but you can quickly add more rows and columns via Table | Insert commands and, crucially, merge adjoining cells using Table | Merge Cells. A glance at the code shows that this is achieved by two new <td> attributes: colspan where a cell straddles multiple columns, and rowspan where it straddles rows. An obvious use is for a table of scientific data where you'd create a first title ro
  14399. w spanning the width of the entire table.
  14400. **However, that's not the only use for cell spanning. There's nothing to stop you merging cells anywhere in a table grid, which opens up much greater design potential. You can similarly use Table | Split Cell... to further subdivide a table grid, achieved not by any new attribute but by adding extra blank <td> elements, then applying appropriate colspan and rowspan attributes to surrounding cells. Alternatively, if you want to split an exi
  14401. sting cell into multiple rows and columns, simply use Insert | Table, repeating this process to create multiple-nested tables.
  14402. **Returning to our simple two-column layout, you can add a new row with Table | Insert Row, then merge these two cells to create a single-header cell straddling the whole layout - ideal for a typical web page banner. Then insert another row above the page links and body copy rows to contain links to the main site sections. Finally, merge these cells and insert a n
  14403. ew one-row by six-column table into which you can enter the links.
  14404. **Using these few commands, you've created the basic banner/ section links/page links/body copy framework that you see on so many websites and, more to the point, you've learned all that's necessary to create far more advanced page layouts. 
  14405. **For your home page, for example, you could subdivide the main body copy cell into a grid into which you drop taster stories and links. Or you could increase the width of your layout
  14406.  by adding a new column down the right, which means targeting larger 800 x 600 displays. However, if you make sure that no column is more than 580 pixels wide, users of smaller displays will only have to use the horizontal scroll bar once to set up their reading of the main copy. There's one final thing you need to do: set all <table> elements' border attributes to zero to hide the grid on which each page is built.
  14407. *Using these basic tools, you can build any layout so long as it's 
  14408. based on non-overlapping rectangular components. You've gained pixel-level control of your design, at least horizontally, and you can achieve similar vertical control thanks to the <td> element's 'height' attribute (again with the proviso that the cell will always expand to contain its content). This is almost DTP-level control, so the obvious question is: why can't we have a DTP-style implementation?
  14409. **In fact, this is exactly what wysiwyg authoring packages like NetObjects Fusio
  14410. n have always offered: drag text and picture blocks onto the page and, behind the scenes, Fusion generates correctly sized <table> tags to reproduce that layout in a browser. Rather more advanced is the system pioneered by Adobe's GoLive, and then picked up by Dreamweaver with its Table Layout view, where you drag a Layout Table container and then, within its area, drag into position and size Layout Cells to hold the content. As you do this, you can see the outlines of the complex 
  14411. colspanned and rowspanned table grid that will produce the final desired results.
  14412. **We've come a long way from those original browser-interpreted columns of scientific data. Tables are the secret behind the layout of almost every web page, but before getting too pleased with ourselves let's take a reality check by looking at the code. It isn't a pretty sight. For example, the HTML for a typical grid layout produced in the Table Layout view consists of reams of <table> tag code, wi
  14413. th vast numbers of empty <td> cells outnumbering a few tiny oases of content. 
  14414. **This isn't exactly how Tim Berners-Lee imagined the semantic Web, but so what if the code is complex - if it does the job, does it matter? Well yes, and for one overriding reason: efficiency. For a start, complex table code affects efficiency in terms of editability - the more advanced the table layout, the more difficult it is to edit. Table cells aren't actually self-contained DTP-style text and pic
  14415. ture boxes, so every time you want to move or resize one it will have repercussions on the layout as a whole. Even minor adjustments can be a nightmare (and you can forget about easy repurposing).
  14416. **Under the table
  14417. *However, the complexity of HTML table grids is even worse news when it comes to rendering. We've already seen that, unless pinned down, different browsers will interpret the same tags differently, but with more complexity there's more room for disagreement - like how to handle
  14418.  mixed pixel and percentage attributes, or column widths that don't add up to the table width - and hence more danger that the layout will break. 
  14419. **On top of which, remember that even the best table layout is never absolutely fixed. All it takes is for the end user to change their default text size so that a cell has to expand to contain its content and your carefully constructed table can fall apart like a pack of cards. Things are certainly better than they were, but it's still necessa
  14420. ry to check your table layouts against the most common viewing setups to ensure there aren't any nasty surprises lurking.
  14421. **The real problem with tables is even more fundamental than this: browsers were designed to efficiently display tagged text, but these days, because of tables, many web pages contain more tags than text. In other words, the browser's primary task has come to be rendering the table rather than its content. 
  14422. *That's bad enough, but the way HTML tables render incremental
  14423. ly row-by-row as the code downloads proves to be fundamentally flawed in highly designed documents. The system works as intended for regular, fixed-column tabular data, but in advanced layouts the browser might well find that later information - a new column width (whether specified or content dictated) or even an entirely new column - can retrospectively affect everything that's already been rendered. In Netscape, you often see this as disconcerting on-screen re-juggling, while in Explore
  14424. r table rendering is usually delayed until every <td> in every last nested <table> has been parsed.
  14425. **Suddenly, HTML tables appear in a far less attractive light. Rather than being saviours, <td> tags are more like unwelcome parasites overwhelming their host with reams of inefficient and unreliable code that flouts HTML's original principle of streamlined, flexible and fast rendering. Surely, there has to be a better way? 
  14426. **There is and it's called Absolute Posit
  14427. ioning, which shifts web page layout control out of HTML and onto the dedicated CSS2 (Cascading Style Sheets Level 2) in much the same way that text formatting is best handled by CSS1. Absolute Positioning is definitely the way of the future (and a future column), but until reliable browser support arrives and a critical mass is reached HTML tables will remain the layout mechanism of choice for the majority of web pages. So the obvious question becomes: what can you do to optimise their us
  14428. **The secret is to look at your tables from the browser application's point of view. To render the table as efficiently and reliably as possible, the browser needs to know as much information as soon as it can. That means specifying all attributes like cellpadding and cellspacing so that there's no scope for a varying interpretation. You also need to specify column widths once and for all and as early as possible, preferably in the first row, and to make sure you don't mix percentages 
  14429. and pixels and that your figures add up. And you need to be certain the content you intend to put into your cells will fit. 
  14430. **You can also help the browser by adding HTML 4's <col> and <colgroup> elements to specify the number of columns and their width upfront, although authoring and rendering support is currently patchy. If you've set up your table and column widths correctly, you can use CSS2's {table-layout: fixed} property to switch supporting browsers to faster incr
  14431. emental rendering. Adding information in this way helps the browser render your table, but the best approach is still to keep it simple. Most importantly, you should avoid the code bloat involved in mimicking wysiwyg DTP-style content box layouts.
  14432. **This principle can be taken further: by their nature, features such as rowspans and nested tables delay rendering, so the more you break up your tables into simple incremental units the better. With that classic banner/site links/page links/bo
  14433. dy copy layout, for example, you could actually treat each cell as a separate table (you'd need to left-align the page links table so that the two tables appear side-by-side). This means each page element can render independently as it's downloaded rather than being tied to all the others. The actual rendering time for the page as a whole will be roughly the same, but the fact that some content appears quickly can make the psychological difference between a text-heavy page being read or ab
  14434. andoned.
  14435. **HTML-based tables have a huge amount to offer the designer (try imagining the Web without them), but it's important to recognise that they're a double-edged sword. Ultimately, the most important tool when it comes to designing your web page layouts isn't your powerful-but-profligate authoring package but a pencil and paper, with which you can hone down your design to its bare but elegant essentials.
  14436. HbAre HTML tables God's gift to web designers or the work of the devil? Tom Arah plots a middle way.L    July 2003X
  14437. 105 (July 2003)i
  14438. Publishing/graphics
  14439. Simon Brock and Ian WrigleyD
  14440. Track requests for free
  14441. One of the more bizarre criticisms levelled at open-source software is that it isn't very useful. The implication is that while you can get free open-source operating systems, programming tools and web servers, the applications that run on them still tend to be paid for. While there's certainly some truth in this - we write paid-for applications ourselves - there are open-source applications that solve real problems, like the one we're going to look at this month. It's a ticket system for 
  14442. quite
  14443. while
  14444. since
  14445. anyone
  14446. asked
  14447. about
  14448. usenet
  14449. years
  14450. since
  14451. first
  14452. reviewed
  14453. banner
  14454. advert
  14455. years
  14456. since
  14457. looked
  14458. overall
  14459. authoring
  14460. fairly
  14461. measure
  14462. interesting
  14463. watch
  14464. evolution
  14465. computers
  14466. little
  14467. button
  14468. that's
  14469. nothing
  14470. remarkable
  14471. those
  14472. coincidences
  14473. mid-august
  14474. mountain
  14475. wales
  14476. pretty
  14477. self-evident
  14478. can't
  14479. paint
  14480. without
  14481. still
  14482. almost
  14483. pocket
  14484. machin
  14485. taken
  14486. awful
  14487. start
  14488. doing
  14489. anything
  14490. killer
  14491. reaches
  14492. pretty
  14493. every
  14494. corner
  14495. bleeding
  14496. technolog
  14497. it-based
  14498. it-literate
  14499. it-radar
  14500. it/encomps
  14501. it/internet-related
  14502. migrationI
  14503. migrations
  14504. mihocka
  14505. mijenix
  14506. mik's
  14507. mike's
  14508. mikes
  14509. miking
  14510. mil/cm
  14511. mild-manneredL
  14512. mildew
  14513. mildly
  14514. mileage
  14515. milesi
  14516. milestone
  14517. milestones
  14518. military
  14519. military-strength
  14520. militatingM
  14521. milkp
  14522. milked
  14523. milking
  14524. milkman`
  14525. mirrorr
  14526. mirror's[
  14527. mirrored~
  14528. mirroringr
  14529. mis-positionh
  14530. I+O+O+
  14531. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  14532. +O+O+O
  14533. I+O+O+O+O
  14534. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  14535. +O+O+O
  14536. I+O+O+O+O
  14537. +O+O+O+O+O+O+OO+O+O+O+
  14538. O+O+O+O+O+O
  14539. +O+O+O
  14540. I+O+O+O+O
  14541. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  14542. +O+O+O
  14543. I+O+O+O+O
  14544. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  14545. +O+O+O
  14546. I+O+O+O
  14547. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  14548. +O+O+O
  14549. I+O+O+O+O
  14550. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  14551. +O+O+O
  14552. I+O+O+O+O
  14553. +O+O+O+O+O+O+OO+O+O+O+O
  14554. O+O+O+O+O+O+O
  14555. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  14556. O+O+O+O+O+O+O+O+O
  14557. +O+O+O+O+OO+O+O+O+O
  14558. +O+O+O+O+O
  14559. O+O+O+O+O+O+O+O+O
  14560. +O+O+O+O+O
  14561. O+O+O+O+O+O+O+O+O+O
  14562. O+O+O+O+O+O+O+O+O
  14563. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  14564. O+O+O+O+O+O+O+O+O
  14565. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  14566. +O+O+O+O+O+O+O
  14567. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  14568. O+O+O+O+O+O+O+O+O
  14569. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  14570. O+O+O+O+O+O+O+O+O
  14571. +O+O+O+O+OO
  14572. +O+O+O+O+O+O+O+O+O
  14573. O+O+O+O+O+O+O+O+O
  14574. +O+O+O+O
  14575. O+O+O
  14576. O+O+O+O+O+O+O+O+O
  14577. O+O+O+O+O+O+O+O+O+O+O+O+O+
  14578. attributeQ
  14579. attribute-specific
  14580. attributed
  14581. attributesQ
  14582. au-system
  14583. au/componentpascal
  14584. au/portable
  14585. auctionb
  14586. auction/auction
  14587. auctioneer
  14588. auctioning
  14589. auctions
  14590. auctionstealer
  14591. audacity
  14592. audibleI
  14593. audibly
  14594. audience{
  14595. changedA
  14596. there'sQ
  14597. thatA
  14598. +O+O+O+O+O+O+O+O+O+O+O
  14599. +O+OO+O+O+O+O+O+O+O+O+O
  14600. O+O+O+O+O+O+O+O+O+O+O+O
  14601. O+O+O+O+O+O+O+O+O+O
  14602. O+O+O+O+O+O+O+O+O+O+O+O
  14603. +O+OO+O+O+O+O+O+O+O+O+O
  14604. O+O+O+O+O+O+O+O+O+O+O+O
  14605. +O+OO+O+O+O+O+O+O+O+O+O
  14606. +O+O+O+O+O+O+O+O+O+O
  14607. +O+OO+O+O+O+O+O+O+O+O+O
  14608. O+O+O+O+O+O+O+O+O+O+O+O
  14609. +O+OO+O+O+O+O+O+O+O+O+O
  14610. O+O+O+O+O+O+O+O+O+O+O+O
  14611. +O+OO
  14612. O+O+O+O+O+O+O
  14613. %UI1I
  14614. +O+O+O+O+O+O+O+O
  14615. O+O+O+O+O+O+O+O+O
  14616. %OO+O+O+O+O+O+O
  14617. +O+O+O+O+O+O+O+O
  14618. O+O+O+O+O+O+O+O+O
  14619. %OO+O+O+O+O+O+O
  14620. +O+O+O+O+O+O+O
  14621. O+O+O+O+O+O+O
  14622. %OO+O+O+O+O+O+O
  14623. +O+O+O+O+O+O+O+O
  14624. O+O+O+O+O+O+O+O+O
  14625. %OO+O+O+O+O+O+O
  14626. +O+O+O+O+O+O+O+O
  14627. O+O+O+O+O+O
  14628. +O+O+O
  14629. %OO+O+O+O+O+O+O
  14630. +O+O+O+O+O+O+O+O
  14631. O+O+O+O+O+O+O+O+O
  14632. %OO+O+O+O+O+O+O
  14633. +O+O+O+O+O+O+O+O
  14634. O+O+O+O+O+O+O+O+O
  14635. %OO+O+O+O+O+O+O
  14636. O+O+O+O+O+O+O
  14637. O+O+O+O+O+O+O+O+O
  14638. %OO+O+O+O+O+O+O
  14639. +O+O+O+O+O+O+O+O
  14640. O+O+O+O+O+O+O+O+O
  14641. %OO+O+O+O+O+O+O
  14642. +O+O+O+O+O+O+O+O
  14643. O+O+O+O+O+O+
  14644. O+O+O+O+O+O+O
  14645. %UI1I
  14646. +O+O+O+O+O+O+O+O
  14647. OO+O+O+O+O+O+O
  14648. +O+O+O
  14649. I+O+O+O+O
  14650. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  14651. +O+O+O+O+O+O+O+O
  14652. O+O+O+O+O+O+O+O+O
  14653. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  14654. O+O+O+O+O+O+O+O+O
  14655. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  14656. O+O+O+O+O+O+O+O+O
  14657. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  14658. O+O+O+O+O+O+O+O+O
  14659. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  14660. O+O+O+O+O+O+O+O+O
  14661. O+O+O+O+O+O+O+O+O+O+O+O+O+
  14662. O+O+O+O
  14663. O+O+O
  14664. +OO+O+O+O+O+O+O+O+O+O
  14665. O+O+O+O+O+O+O+O+O+O
  14666. +O+OO+O+O+O+O+O+O+O+O+O
  14667. O+O+O+O+O+O+O+O+O+O+O+O
  14668. +O+OO+O+O+
  14669. O+O+O+O+O+O+O
  14670. O+O+O+O+O+O+O+O+O+O+O+O
  14671. +O+OO+
  14672. O+O+O+O+O+O+O+O+O
  14673. O+O+O+O+O+O+O+O+O+O+O+O
  14674. +O+OO+O+O+O+O+O+O+O+O+O
  14675. O+O+O+O+O+O+O+O+O+O+O+O
  14676. +O+OO+O+O+O+O+O+O+O+O+O
  14677. O+O+O
  14678. +O+O+O+O+O+O+O+O+O
  14679. +O+OO+O+O+O+O+O+O+O+O+O
  14680. O+O+O+O+O+O+O+O+O+O+O+O
  14681. +O+OO+O+O+O+O+O+O+O+O+O
  14682. O+O+O+O+O+O+O+O+O+O+O+O
  14683. +O+OO+O
  14684. O+O+O+O
  14685. O+O+O+
  14686. +OO+O+O+O+O+O+O+O+O+O
  14687. O+O+O+O+O+O+O+O+O+O+O
  14688. +O+OO+O+O+O+O+O+O+O+O+O
  14689. O+O+OO
  14690. O+O+O+O+O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O,N,O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O,N,O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+OO+O+O
  14691. O+O+O+O+O+O+O
  14692. +O+O+
  14693. +O+O+
  14694. +O+O+O+O+O+O
  14695. O+O+O+O+O+O+O+O+O
  14696. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  14697. O+O+O+O+O+O+O+O+O
  14698. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  14699. O+O+O+O+O+O+O+O+O
  14700. O+O+O+O+O+O+O+O+O+O+O+O+O
  14701. O+O+O+O+O
  14702. +O+O+O+O
  14703. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  14704. O+O+O+O+O+O+O+O+O
  14705. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  14706. O+O+O+O+O+O+O+O+O
  14707. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  14708. O+O+O+O+O+O+O+O+O
  14709. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  14710. O+O+O+O+O+O+O+O+O
  14711. O+O+O+O+O+O+O+O+O+O+O+O+O+
  14712. O+O+O+O+O+O+O
  14713. +O+O+
  14714. +O+O+O
  14715. +O+O+
  14716. +O+O+
  14717. +O+O+O+O+O+O
  14718. O+O+O+O+O+O+O+O+O
  14719. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  14720. O+O+O+O+O+O+O+O+O
  14721. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  14722. O+O+O+O+O+O+O+O+O
  14723. O+O+O+O+O
  14724. managing requests called Request Tracker (RT).
  14725. **The idea behind RT is simple. Imagine you're part of an organisation where people constantly request other people to do something - clients asking questions of suppliers, for example. Assume for the moment that the requestor sends this query as an email. RT handles the email and allocates a number to the request. It then replies to the requestor telling them their request has been received and its allocated reference number. The request is 
  14726. forwarded to the people in the organisation who might deal with it and RT copies their replies to each other and to the requestor. 
  14727. **All of this could be done using email aliases, but RT stores these emails in a database that can be accessed via a web interface, enabling the people in the organisation who administer requests to see all the correspondence about each request and, if necessary, change their status. While a request is being worked on, it can be marked as 'open' and, when it'
  14728. s been finished, marked as 'resolved'. Once a request is resolved, an email is sent to the requestor so they know their request has been dealt with.
  14729. **By now, you'll have formed one of three opinions: you think RT could be useful; you don't think it could be useful; or you think it smacks of the worst aspects of being held in a call-centre queue while you wait to complain that the PC that you've just had delivered doesn't work. 
  14730. *We're obviously of the first opinion, as RT forms part of t
  14731. he daily working life of our company. We use it every day to track requests from our clients, and also to monitor our systems. Whenever a machine is running low on disk space, it opens a ticket that will get resolved by someone when some extra space has been made available.
  14732. **Installation
  14733. *If you've read this far, you'll probably want to install RT, which you can download from <A HREF="http://www.bestpractical.com" target="_BLANK">www.bestpractical.com</A>. To install the software, you'll
  14734.  need to carefully prepare your system - RT is written completely in Perl but you'll need more than just a Perl interpreter to make it work.
  14735. **First, you need a bunch of Perl modules, but the software comes with a script that tells you what those modules are and helps you download and install them all. Second, you require an SQL database, but RT supports those open-source favourites MySQL and Postgres and you should be able to find one of them. 
  14736. **Last, you need a web server that's optim
  14737. ised for running Perl scripts, and the most popular way of doing this is to incorporate a Perl module into your web server. If you're using Apache, this is best accomplished with mod_perl, which is also available for other servers. 
  14738. **For those of you unfamiliar with this facility, it builds a Perl interpreter into the web server. So, whenever a request comes in that would normally run a Perl script, the script is run within the server process itself rather than a new process being spawne
  14739. d, which then runs the Perl script. This provides a sizeable performance increase when running Perl scripts on websites, but the downside is that a server including mod_perl tends to use a lot more memory. 
  14740. **Economies can be made by not building the module into the server itself (see Adding modules to Apache), but beware that using a 'dynamically loading' mod_perl module can induce unreliability, although we've used it without any problems.
  14741. **Other possibilities are available, such as t
  14742. he fast_cgi system (see <A HREF="http://www.fastcgi.com" target="_BLANK">www.fastcgi.com</A>), but you'll probably find that mod_perl is a simpler solution. Once you have your web server set up to run the application, you just need to run a couple of commands to install the software.
  14743. **The basic idea of this division into two groups is that the former do the actual work, while the latter check that the former are doing the work. You need to introduce RT to these users and give them userna
  14744. mes and passwords to access the web interface. 
  14745. **A complex system of rights and controls can be associated with each queue and each user - which are well beyond the scope of this article - but it's best to keep things simple. Just ensure that the group 'Everyone' has the ability to create tickets or the next step won't work.
  14746. **Once you've completed the above configuration, you should have a system by which users can log in and create tickets. These tickets can then be allocated to peopl
  14747. e to work on, and they can exchange messages with each other and the requestor(s). It should be noted that once a ticket is allocated to a queue, two types of correspondence can be entered against it. The first is a reply that's sent to everyone associated with that queue, while the second is a comment that's only sent to the administrators of the queue. 
  14748. **The latter is important, because it allows the following style of interaction. Someone sends in a request and that request is taken b
  14749. y one person, who replies to the requestor and says they're working on their request. They then decide they need some help, so they comment on the ticket. This comment is then sent to all the administrators and they can comment back. Then, when the person working on the ticket finishes, they can send a reply and resolve the ticket. 
  14750. **This distinction between internal comment and external reply is important and allows a ticket to include helpful comments for internal use. Of course, it's 
  14751. also open to abuse, allowing comments of a 'personal' nature to be included on the ticket. Personal experience suggests that this should be discouraged, as occasionally someone forgets the difference between an internal comment and an external reply.
  14752. **At this stage, you need to link your RT system to your email package. RT is a based around its website, but the incoming email interface is important too. 
  14753. **First, it allows incoming requests that are made by email to be automatically ent
  14754. ered into the system: whenever a request arrives, a message is sent to all the watchers on the queue. By linking the system into the email, these watchers can reply to these messages, which will be automatically entered onto the ticket and sent to the appropriate people. To implement the link to the email system, you need to set up special aliases on the system that runs RT.
  14755. **To understand how this works, let's assume you have a queue called 'ClientA Requests', which is where you want to
  14756.  handle requests from client A. You want to give to that client an email address they can use to send in requests, which would typically be something like clienta.requests@ yourdomain.co.uk. 
  14757. **What you need to happen is that whenever email is sent to this address, a script is run that interacts with RT to create a new ticket. Usually, the best way to do this is to ensure email is delivered to the machine that's running RT. If this isn't the case, you have to start from your main mailer a
  14758. nd set up aliases that deliver mail to that machine. Assuming this machine is also a Unix machine, most mailers have an alias file that maps a name to an email address. Typically, you need to add a line that looks like this:
  14759. *clienta.requests: clienta.requests@rtmachine.yourdomain.co.uk
  14760. *This delivers all email for that address to the RT server. Obviously, the RT machine also requires a working mailer, but we'll leave that as an easy exercise for the reader. On the machine running RT 
  14761. we must also set up an alias, which will typically look like this:
  14762. *clienta.requests: "| /path-to/rt3/bin/rt-mailgate -queue 'client A Requests' -action correspond"<P>
  14763. *Note how we've used quotes to include the alias and the queue name in the alias. Generally, you can set up two aliases for each queue - the one above is for original requests and replies, while a second can be set up for comments.
  14764. **Once you have RT set up, it's ready for use and requires little maintenance. This isn't to 
  14765. say it doesn't need to be managed, because if people don't resolve then tickets queues can soon fill up. 
  14766. *It's also possible to change the way the system works when events occur. For example, when a ticket is resolved, we send a response that contains the complete history of the ticket, showing what was done when. It's  also possible to set up a system by which requestors get access to the website in a kiosk mode, where they can see their own tickets.
  14767. **Once you've got RT working, it's w
  14768. orth having a look at an add-on called RTFM. The aim of this software is to allow you to collect together snippets of information from various sources and edit them to produce documents. It can be used with RT by extracting contents from tickets to form these documents. 
  14769. **If you have any problems, there are mailing lists available plus commercial support from the author of the software. 
  14770. **So there you have it - a real and definitely usable open-source application. If your company has t
  14771. TNo handle requests from various sources, there's no better or cheaper solution.
  14772. HGSimon Brock and Ian Wrigley sniff out a useful open-source application.L    July 2003X
  14773. 105 (July 2003)i
  14774. Mark Newton and Paul OckendenD
  14775. FrontPage 2003
  14776. Last month, we promised to examine FrontPage 2003 in a bit more detail and, more particularly, its claim that it can be used as a graphical XML template builder. But before focusing on this specific area, what's FrontPage 2003 like overall?
  14777. **First impressions are that its developers have been spending their holidays at Macromedia, as the product bristles with similarities to Dreamweaver. For instance, its design area shows Display (rendered) and Code views simultaneously; table design is
  14778. O+OO+O+O+O+O+O+O+O,N,O
  14779. OO+O+O+O+O+O+O+O
  14780. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O,N,O
  14781. OO+O+O+O+O+O+O+O
  14782. +O+O+O+O+O+O+OO+O2+O+O+O+O+O+O,N,O
  14783. OO+O+O+O+O+O+O+O
  14784. +O+O+O+O+O+O+OO+
  14785. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  14786. %U%U%U%U%U%U%
  14787. O+O+O+O
  14788. O+O+O+O+O
  14789. +O+O+OO+O+O+O+O+O+O+O+O+O
  14790. I+O+O+O+O+O
  14791. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  14792. I+O+O+O+O+O
  14793. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  14794. I+O+O+O+O+O
  14795. +O+O+O+O+O+O+O2O+O+O
  14796. +O+O+O+O+O+O+O
  14797. I+O+O+O+O+O
  14798. +O+O+O+O+O+O+
  14799. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  14800. %U%U%U%U%U%U%UI1I1J0J1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I
  14801. O+O+O+O+O+O+O+O+O
  14802. +O+O+O+O+OO+O+O+O+O+O+O+O+O
  14803. O+O+O+O+O+O+O
  14804. +O+O+OO+O+O+O+O+O+O+O+O+O
  14805. O+O+O+O+O
  14806. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  14807. I+O+O+O+O+O
  14808. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  14809. I+O+O+O+O+O
  14810. +O+O+O+O+O+O+OO+
  14811. O+O+O+O+O+O+O+O+O
  14812. I+O+O+O+O+O
  14813. +O+O+O+O+
  14814. complainingL
  14815. complains
  14816. complaintt
  14817. complaint-handling
  14818. complaintous
  14819. complaintsP
  14820. complementb
  14821. complementary
  14822. personalI
  14823. personal-looking
  14824. personal-use-for-fre
  14825. personal-use-only
  14826. +O+O+O+O+O+O+O+O
  14827. O+O+O+O+O+O+O+O+O
  14828. +O+O+O+O+OO+O+O+O+O+O
  14829. +O+O+O+O
  14830. O+O+O+O+O+O+O+O+O
  14831. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  14832. O+O+O+O+O+O+O+O+O
  14833. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  14834. O+O+O+O+O+O+O+
  14835. OO+O+O+O+O+O+O+O+O,N,O+
  14836. OO+O+O
  14837. +O+OO+O+O+
  14838. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  14839. %U%U%U%U%U%U%UI1I1J0J1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I
  14840. O+O+O+O+O+O+O+O+O
  14841. +O+O+O+O+OO+O+O+O+O+O+O+O+O
  14842. O+O+O
  14843. O+O+O+O
  14844. +O+O+O+O
  14845. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  14846. +O+O+OO+O+O+O+O+O+O+O+O+O
  14847. I+O+O+O+O+O
  14848. +O+O+O+
  14849. O+O+O+OO+O+O+O+O+O
  14850. +O+O+O+O
  14851. I+O+O+O+O+O
  14852. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  14853. I+O+O+O+O+O
  14854. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  14855. I+O+O+O+O+O
  14856. 2+O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  14857. I+O+O+O+O+O
  14858. +O+O+OO+O+O+O+O+O+O+O+O+O
  14859. %U%U%U%U%U%U%UI]z
  14860. %U%U%
  14861. O+O+O
  14862. O+O+O+O
  14863. +O+O+O+O
  14864. +O+O+OO+O+O+O+O+O+O+O+O+O
  14865. +O+O+OO+O+O+O+O+O+O+O+O+O
  14866. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O,N,O
  14867. OO+O+O+O
  14868. +O+O+O+O
  14869. +O+O+O+O+O+
  14870. nearly@
  14871. nearly-free@
  14872. neater@
  14873. necessary@
  14874. necessitate
  14875. need@
  14876. need-to-know
  14877. needattention
  14878. ands@
  14879. network
  14880. network's@
  14881. never@
  14882. never
  14883. until
  14884. tomorrow
  14885. today
  14886. new-found@
  14887. new-machine@
  14888. newbies@
  14889. newline@
  14890. nexian@
  14891. next-door@
  14892. nice@
  14893. nightmare@
  14894. nightmares@
  14895. no-binary@
  14896. nobody@
  14897. non-colour@
  14898. non-mission-critical@
  14899. non-prescription@
  14900. nonetheless@
  14901. normally@
  14902. norman@
  14903. not-inconsiderable@
  14904. not-so-slick@
  14905. note-style@
  14906. nothing
  14907. likely
  14908. designer
  14909. notice@
  14910. noticeable@
  14911. notifier@
  14912. nought@
  14913. visual
  14914. studio
  14915. finally
  14916. shipping
  14917. component@
  14918. now's@
  14919. nowhere@
  14920. nubs@
  14921. number-crunchers@
  14922. O+O+O
  14923. O+O+O+O+O+O+O+O+O
  14924. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  14925. O+O+O+O+O+O+O+O+O
  14926. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  14927. O+O+O+O+O+O+O+O+O
  14928. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  14929. O+O+O+O+O+O+O+O+O
  14930. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  14931. O+O+O+O+O+O+O+O+O
  14932. O+O+O+O+O
  14933. +O+O+
  14934. +O+O+OO+O+O+O
  14935. +OO+O+O+O+O+O+O+O+O+O
  14936. O+O+O+O+O+O+O+O+O+O+O+O
  14937. +O+OO+O+O+O+O+O+O+O+O+O
  14938. O+O+O+O+O+O+O+O+O+O+O+O
  14939. +O+OO+O+O+O+O+O+O+O+O
  14940. O+O+O+O
  14941. O+O+O+O+O+O+O+O
  14942. +O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  14943. O+O+O+O+O+O+O+O
  14944. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  14945. O+O+O+O+O+O+O+O
  14946. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  14947. O+O+O+O+O+O+O+O
  14948. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  14949. O+O+O+O+O+O+O+O
  14950. O+O+O+O+O+O+O+O+O+O+O+O2+O+O+
  14951. +O+O+OO+O+O+O+O+O+O+O+O+O
  14952. +O+O+O+O+O+O
  14953. +OO+O+O+O+O+O+O+O+O+O
  14954. O+O+O+O+O+O+O+O+O+O+O+O
  14955. +O+OO+O+O+O+O+O+O+O+O+O
  14956. O+O+O+O+O+O+O+O+O+O+O+O
  14957. +O+OO+O+O+O+O+O+O+O+O
  14958. O+O+O+O+O+O+
  14959. OO+O+O+O+O
  14960. +O+O+
  14961. +O+O+OO+O+O+O+O+
  14962. +O+O+OO+O
  14963.  a simple draw-and-drag operation (even the icons look similar); and there's a tag inspector. Such similarities are no bad thing, though, imitation being the sincerest form of flattery. 
  14964. **We wondered whether Microsoft had fixed some of the design faults found in previous versions of FrontPage, the most annoying being the ease with which great chunks of code could be inadvertently removed when in Design view. Has Microsoft found some way to show where code is hidden in the Display mode of
  14965.  editing? No such luck - it's still possible to delete acres of code without any indication or warning. Other products use a small icon to show where there's code present behind some visual element, but the only way to get a similar warning in FrontPage is to switch 'show tags' on. This shows all the HTML tags in Display mode and is hence unusable, as it destroys the ability to see what the page will look like. If you need this much detail, use Code view and learn to read HTML. 
  14966. **When ty
  14967. ping ASP code into the code panel, it would be reasonable to expect some form of code hinting as in Visual Studio and Macromedia's Dreamweaver, but no, all code is shown in one colour without any 'Auto Complete' hints to help with the syntax. 
  14968. **FrontPage still relies heavily on web bots to achieve many dynamic functions like talking to databases. In the past, this meant you had to have FrontPage Extensions installed on your web server to use the bots, but with FrontPage 2003 the action o
  14969. f publishing your site puts all the necessary files (previously known as extensions) onto the server for you. The ASP or ASP .NET code still refers to web bots and looks nothing like what you might write yourself to access a data source, but it's a definite step forward from trying to make sure you had the right version of FrontPage Extensions installed on your live web server. 
  14970. **Nevertheless, much of the functionality of FrontPage 2003 requires even more Microsoft technology installed o
  14971. n your web server before it will work, which means that hosting such sites could still be tricky and makes FrontPage more useful for intranet design using Microsoft Office technologies rather than for Internet deployment.
  14972. **Adding DHTML effects is tricky with some design packages, and here's an area where FrontPage is rather good. Mouse-over, click, double-click and page-load events can all have effects applied to them by simply selecting from a series of drop-down boxes. The selection of
  14973.  border effects is particularly good, as you see a preview of how the object will look rather than guessing until you've saved the page and brought up a browser window as in some other packages. Once a DHTML effect is applied, the object is colour-coded in the Design mode so that you know an effect has been applied; to see the effect in action, a click on the Preview tab shows your page as it should look in a browser with all the DHTML effects working. There's even an option to preview in 
  14974. multiple browsers, displaying your page in any set of the browsers you've installed on your PC at different screen sizes - a nice touch. This all makes adding effects so easy that we feel obliged to advise restraint - as with fancy fonts, overuse will do nothing good for your design.
  14975. **Now to the crux. You may have heard that FrontPage can now design XML templates (XSLT) in a graphical way, making it the first such mainstream product to do so. This is exciting stuff, so we tried to do it.
  14976.  The problem is that all the 'data view' functions in FrontPage 2003 require Microsoft SharePoint 2 to be running on your server. This will apparently be part of the OS under Windows Server 2003, but at the moment, before we can design an XML template to format XML data, according to the Help file we need Windows Server 2003, SharePoint and IIS 6. That's a lot of server-side technology just to create an XML template to transform an XML data file into something more visually pleasing, both 
  14977. of which are simply text files. It's all very disappointing and not exactly easy. We'll be setting up a Windows 2003 Server with IIS 6 next month and should then be in a position to tell you how FrontPage 2003 integrates with it and what's involved. Bear in mind that the current version of FrontPage 2003 is a late Beta 2 and so some things may be fixed by the time of release: if they are, rest assured we'll be telling you here.
  14978. **VorteXML
  14979. *While on the subject of XML, VorteXML 2 was launc
  14980. hed recently, which simplifies the business of converting legacy data into XML format. VorteXML is published by Datawatch (<A HREF="http://www.datawatch.com" target="_BLANK">www.datawatch.com</a>), the same firm that brought us Monarch. Just to recap, Monarch enables you to design templates that map data fields exported in text form from a legacy database onto the fields of a new database format of choice. Monarch then extracts the data from the text file and imports it into your new datab
  14981. ase. It's an extremely useful tool for getting data out of legacy systems, and VorteXML does basically the same job, but instead of importing the data into a database it produces an XML file for you to do with as you please. 
  14982. **VorteXML comes in two versions, both easy to use. The first, Designer, costs ?345 (exc VAT) and is useful for one-off solutions where you just need to do a data conversion from an old system to a new XML one. Mark took a text dump from a database and within a few m
  14983. inutes was able to produce a fully validated XML file and even attach a CSS file to it for formatting. The second version, Server, produces XML files from text files as part of an automated process. It also has a full API to facilitate integration into your existing system. This version costs ?5,000 (exc VAT) per server and ?1,299 (exc VAT) per extra CPU. Like a lot of similar products, a few of you will find this invaluable while the rest will wonder what all the fuss is about. What we ca
  14984. n say is that VorteXML is easy to use, has the flexibility to handle most jobs and nicely fills a niche in the XML marketplace. It's an obvious successor to Monarch, creating an XML data source rather than Monarch's database data source.
  14985. **e-hairdresser.com?
  14986. *Most of us, when pondering the commercial aspect of the Web, find our thoughts instinctively drawn to e-commerce and the potential for selling goods and services from lucrative online stores. There are, however, some businesses that 
  14987. are unsuited to major e-commerce application; for example, hairdressers, public swimming baths and pubs. That's not to say the Web can't do anything at all for such businesses. It just means they can't take the easy option of flogging their main product or service from their website.
  14988. **There might, of course, be some scope to sell ancillary items: the swimming pool could sell season passes or goggles; the pub might sell Firkin T-shirts; and even the hairdresser could find certain fringe b
  14989. enefits (ho, ho!). But the main use for all their sites is going to be promotion - they all need to get people through their doors. And to do this, one of the essential things any 'get footfall' site needs is a location map. People are much more likely to show up if they can find your place. Some sites provide click-through links to Streetmap (<A HREF="http://www.streetmap.co.uk" target="_BLANK">www.streetmap.co.uk</a>), Multimap (<A HREF="http://www.multimap.com" target="_BLANK">www.multi
  14990. map.com</a>), MapQuest (<A HREF="http://www.mapquest.co.uk" target="_BLANK">www.mapquest.co.uk</a>) or any of the other online map providers. 
  14991. **The problem is that this isn't very professional and you might also lose your visitor at this point, as these map providers all carry some form of advertising. It's far better to provide ad-free maps embedded within your own pages. You can do this while still using these online mapping companies, as most of them provide a service whereby you can 
  14992. use their maps on your own pages. You have to pay, of course, but in terms of creating a professional image it's head and shoulders above just linking to the map sites. 
  14993. **We've used Multimap for some of our own projects, which operates on a pay-per-view basis, and its system seems to work well. We just call Multimap's map server, including the address for the desired map, and get a nicely formatted graphic returned. It also sends us our monthly statistics by email, showing our map usage 
  14994. across various domains. If you only have a few locations, though, there may be a cheaper option, and strangely enough it comes courtesy of Microsoft. When the press release for AutoRoute 2003 landed in Paul's mailbox, he noticed that it said 'Maps produced in AutoRoute can be ... published to the Web using the "Save as Web Page" feature', which was intriguing. 
  14995. **We'd only ever thought of AutoRoute as a 'get me from A to B' product, but now we started wondering whether it could be used to
  14996.  produce maps for commercial websites. So we checked with Microsoft's press office, enquiring what exactly the licensing restrictions were. The response from Rik Temmink, global product manager for AutoRoute 2003, was as follows:
  14997. *'The licence agreement allows a user to "generate and post online" up to 1,000 pieces of content from AutoRoute. So in layman's terms, you can save maps and driving directions in HTML format from AutoRoute, and put 1,000 of these saved maps/directions on your 
  14998. website. Not 1,000 items at a time or 1,000 items on each website, but 1,000 items over the lifetime of the licence. After you reach the 1,000 limit, the AutoRoute licence is obviously still valid for other tasks, but you'd have to purchase another licence to get another 1,000 "posts" in the bank.'
  14999. **There you have it - if your company has less than 1,000 branches, the easiest and cheapest way to produce location maps for your website is to nip out to your nearest software shop and pick u
  15000. p a copy of AutoRoute 2003, a so-called consumer product. If you have 2,000 branches, just buy two copies! At ?40 for the software, the cost of each map is around 4p!
  15001. **Those bad link blues
  15002. *Paul provided ten of the '100 tips and tricks' that you'll have found in PC Pro's glorious 100th issue, and one of those hints has resulted in quite a few email requests asking for further details, so here goes. 
  15003. **The tip was: 'Bad links can be serious, so start to spot those 404 errors as soon as t
  15004. hey happen. It's better to find out that you've messed up an important link on your front page before you run your monthly logfile analysis. Or before you notice a drop in the order volumes. Or before you notice a drop in the company bank account. Reconfigure your web server to use a special 404 page. Then make that page run a script to send you an email.'
  15005. **Now let's look at that in a bit more detail. With most normal web server configurations, if a user tries to access a page that doesn
  15006. 't exist a normal 404 error page will be displayed. See <A HREF="http://www.ockenden.com/error.html" target="_BLANK">www.ockenden.com/error.html</a> for an example - this page doesn't exist and the response is the standard IIS 'Page not found' error page. 
  15007. *But if you try the same thing on Paul's company site <A HREF="http://www.cst-group.com/error.html"  target="_BLANK">www.cst-group.com/error.html</a>, you'll see the error is handled more gracefully. What you don't see, though, is that t
  15008. he page will have also generated an email that went to the site developers (that's Paul and his team), informing them of the error.
  15009. **How's that done? Well, it's quite easy. First, you need to configure your web server to use a special 404 page. With Microsoft's IIS, do this via the normal management tools - right-click on your website within the IIS management tool and then select the Custom Errors tab. Scroll down the list to find 404 and change it to an URL pointing at something like: 
  15010. /errors/404.asp
  15011. *If you're running PHP on an Apache server, you must make a change to .htaccess, a file that enables you to override all kinds of Apache server instructions and defaults. In typical Unix fashion, you'll need to be careful with its filename - it has to be all lower case and don't forget that it starts with a dot. The best place to make this change is in the root directory of your site, because a .htaccess file in one directory affects all the subdirectories below it (unless,
  15012.  of course, they have their own .htaccess file). To set up the custom error page, create a new .htaccess file (or modify an existing one), adding an ErrorDocument line. The format of this is: ErrorDocument errorcode url. So in your case, you'll write something like: ErrorDocument 404 /errors/404.php
  15013. *Okay, so now that you've got your web server using a special 404 page, how do you get it to email you with details of the bad link? Easy peasy. In PHP, you do something like this: 
  15014. *<?php 
  15015. *$page = getenv("REQUEST_URI"); 
  15016. *$servname = getenv("SERVER_NAME"); 
  15017. *$ref = getenv("HTTP_REFERER"); 
  15018. **$mess = "404 error on $servname \n 
  15019. *Page: $page \n
  15020. *Referrer: $ref \n"; 
  15021. **mail("webmaster@domain.com","404 error", $mess, "From: error@domain.com\r\n"); 
  15022. *?>
  15023. *and in ASP, something like this:
  15024. *<%
  15025. *query = Request.ServerVariables("QUERY_STRING")
  15026. *page = right(query,len(query)-instr(query,";"))
  15027. *servname = Request.ServerVariables("SERVER_NAME")
  15028. *ref = Request.ServerVariables(
  15029. "HTTP_REFERER") 
  15030. **mess = "404 error on "&servname&chr(13)&chr(10)_
  15031. *&"Page: "&page&chr(13)&chr(10)_
  15032. *&"Referrer: "&ref&chr(13)&chr(10)
  15033. **Set objMail = CreateObject("CDONTS.NewMail") 
  15034. *objMail.From = "error@domain.com"
  15035. *objMail.To = "webmaster@domain.com"
  15036. *objMail.Subject = "404 error"
  15037. *objMail.Body = mess
  15038. *objMail.Send
  15039. *Set objMail = Nothing
  15040. *%><P>
  15041. *These are both blocks of code that you can embed in a normal page, and you'll notice that they follow a similar structure, with
  15042.  a couple of subtle differences. First, the way IIS maps error pages means you can't just query the script name of the current page in order to get the page that was requested, as it will merely return the name of the 404 handler page. Gee, thanks, Microsoft. 
  15043. **Instead, IIS adds it on to the end of the querystring, following a semicolon. Once you know that, it's fairly easy to retrieve it. Second, note the default mail() function in PHP doesn't allow you to set the from: address directly
  15044. . Instead, you have to set it as a 'header', hence the special formatting of the last parameter in the mail() call.
  15045. **Once you've set all this up, you'll notice that you get all kinds of 'rubbish' bad link alerts - robots looking for robots.txt files in places where you don't have them, or 'Code Red' and script kiddies trying to hack your servers using the usual list of exploits. You'll probably want to add some conditional code into your 404 page so that such bogus automated 404s don't g
  15046. `:enerate emails. Otherwise, you'll get a very full mailbox.
  15047. HGMark Newton grabs the FrontPage while Paul Ockenden maps out his futureL    July 2003X
  15048. 105 (July 2003)i
  15049. Web Business
  15050. Jon HoneyballD
  15051. Onward and Upward
  15052. I'm now utterly convinced that we are about to move into a completely new and exciting era in computing. Sounds like a big claim you might think, but the pieces are definitely slotting into place and there are already credible arrival dates for all the critical technologies. I've been fortunate enough to witness several such seismic shifts before, and each time there's a clear and decisive step-change in the technology and mindset. 
  15053. **Back in the days of MS-DOS people did plenty of good w
  15054. +O+OO+O+O+O+O+O
  15055. O+O+O
  15056. O+O+O+O+O+O+O+O+O
  15057. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  15058. O+O+O+O+O+O+O+O+O
  15059. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  15060. O+O+O+O+O+O+O+O+O
  15061. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  15062. O+O+O+O+O+O+O+O+O
  15063. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  15064. O+O+O+O+O+O+O+O+O
  15065. O+O+O+O+O
  15066. +O+O+
  15067. +O+O5+
  15068. +O+O+
  15069. +O+O+O+O+O+O+O+
  15070. +O+O+OO+O+O+O+O+O+O+O+O+O
  15071. %U%U%U%U%U%U%UI1I1I1I1I2H2I1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I
  15072. O+O+O+O+O+O+O+O
  15073. +OO+O+O+O+O+O
  15074. O+O+O+O+O+O+O
  15075. %UI1I1I1I1I1I1I1I1I1I
  15076. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  15077. %UI1I1I1I1I1I1I1I1I1I
  15078. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  15079. %UI1I1I1
  15080. I1I1I1I1I1I1I
  15081. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  15082. %UI1I1I1I1I1I1I1I1I1I
  15083. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  15084. %UI1I1I1I1I1I1I1I1I1
  15085. +O+O+
  15086. +O+O+O+OO+O+
  15087. +O+O+OO+O+O+O+O+O+O+O+O+O
  15088. %U%U%U%U%U%U%UI1I1I2H2I1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I
  15089. O+O+O+O+O+O
  15090. +O+O+O+O+O+O+OO+O+O+O+O+
  15091. eveningL
  15092. evenings
  15093. evenly
  15094. evenpages
  15095. evens
  15096. eventA
  15097. event's
  15098. eventreporter
  15099. O+O+O+O+O
  15100. +O+O+OO+O+O+O+O+O
  15101. O+O+O+O+O+O+O
  15102. %UI1I1I1I1I1I1I1I1I1I
  15103. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  15104. %UI1I1I1I1I1I1I1I1I1I
  15105. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  15106. %UI1I1I1
  15107. I1I1I1I1I1I1I
  15108. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  15109. %UI1I1I1I1I1I1I1I1I1I
  15110. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  15111. %UI1I1I1I1I1I1I1I1I1
  15112. +O+O+O+O+OO+O+O
  15113. +O+O+OO+O+O+O+O+O+O+O+O+O
  15114. I+O+O+O+O+O
  15115. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  15116. I+O+O+O+O+O
  15117. +O+O+O+O+OO+O+O+O+O+O
  15118. O+O+O+O+O+O+O
  15119. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  15120. O+O+O+O+O+O+O+O+O
  15121. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  15122. O+O+O+O+O+O+O+O+O
  15123. +O+O+O+O+O
  15124. O+O+O+O+O+O+O+O+O+O
  15125. O+O+O+O+O+O+O+O+O
  15126. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  15127. O+O+O+O+O+O+O+O+O
  15128. +O+O+O+O+OO+O+O+O+O+O+
  15129. +O+O+
  15130. +O+O+
  15131. +O+O+OO+O+O
  15132. +O+O+OO+O+O+O+O+O+O+O+O+O
  15133. I+O+O+O+O+O
  15134. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  15135. I+O+O+O+O+O
  15136. +O+O+O+O+O
  15137. ponderingS
  15138. pong-style
  15139. ponies
  15140. ponsonby-smythe
  15141. pontificate
  15142. ponytails
  15143. poolS
  15144. pooledF
  15145. pooling
  15146. pools
  15147. poorD
  15148. poor-quality
  15149. poor-sightedI
  15150. poorerE
  15151. +O+O+OO+
  15152. O+O+O+O
  15153. O+O+O+O+O+O+O+O+O
  15154. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  15155. O+O+O+O+O+O+O+O+O
  15156. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  15157. O+O+O+O+O+O+O+O+
  15158. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  15159. O+O+O+O+O+O+O+O+O
  15160. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  15161. O+O+O+O+O+O+O+O+O
  15162. O+O+O+O
  15163. +O+O+OO+O+O+O5+O+O+O+O+O+O+O
  15164. +O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  15165. +O+O+OO+O+O+O+O+O+O+O+O+O
  15166. %U%U%U%
  15167. OO+O+O+
  15168. O+O+O+O+O+O+O
  15169. %UI1I1I1I1I1I1I1I1I1I
  15170. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  15171. %UI1I1I1I1I1I1I1I1I1I
  15172. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  15173. %UI1I1I1
  15174. I1I1I1I1I1I1I
  15175. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  15176. %UI1I1I1I1I1I1I1I1I1I
  15177. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  15178. %UI1I1I1I1I1I1I1I1I1
  15179. +O+O+
  15180. +OO+O+O+O
  15181. +O+O+OO+O+O+O+O+O+O+O+O+O
  15182. %U%U%U%U%U%U%UI1I1I1I1I2H2I1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I
  15183. O+O+O+
  15184. requireB
  15185. 64-128kbits/sec
  15186. 64-bitA
  15187. 64-channel
  15188. 64-processor
  15189. 64-way
  15190. 64000
  15191. 640kb
  15192. 640kbits/sec
  15193. 640mb
  15194. 644044
  15195. 64kb/secE
  15196. 64kbit
  15197. 64kbit/sec
  15198. 64kbits/sec
  15199. 65000-colour
  15200. 650mb
  15201. 654100
  15202. 65535
  15203. computingD
  15204. graphicsn
  15205. legal
  15206. mobile
  15207. computingD
  15208. Simon JonesD
  15209. Out of the Office
  15210. I'm writing this month's column from San Francisco, where the world's IT press has gathered to find out all there is to know about Office 2003 or, rather, all that Microsoft wants to tell us. We've endured two days of wall-to-wall PowerPoint presentations and demonstrations to bring you the latest news.
  15211. *Office 2003 beta 2 will be available from 10 March 2003. Subscribers to MSDN should receive it in their next shipment, or you can order a set of CDs for a modest fee. This is, after all, a
  15212. ork using applications like WordPerfect and Lotus 123, but the move to 16-bit Windows computing with Windows 3.0/3.1 in 1990 brought many benefits over and above the graphical user interface. Its unification of printer driver models was, for many, a huge benefit, let alone everything else that you got: unified screen drivers; a mouse-driven GUI; and finally some semblance of proper memory management. I know there were many unpleasantnesses hiding under Windows 3.0's memory manager, but it 
  15213. did allow applications to share memory in a cooperative fashion, so that proper multitasking no longer required a third-party task switcher like DesqView. Most important of all, it preserved and built on the best fundamentals of the DOS era - applications were mature and robust and we understood clearly what we were supposed to do with them. I'll hurriedly skip over the fact that many of the first Windows implementations from well-known application vendors were grotesquely badly designed, 
  15214. despite several years of clear demonstrations how to write good Windows applications from products like Excel and PageMaker. 
  15215. **The next significant era arrived in the mid-90s with the shift on the client side to 32-bit computing and the appearance of robust and serious server technology. Once again this built on the best of the previous generation, and Netware 2.x, 3.x and 4.x were important leaders on the server front. The arrival of the Internet just spurred the need for robust desktop
  15216.  technologies, and we were firmly into the era of Microsoft's Office suite. This same model has served us well since then, but now it's time to move forward, and the next big shift is going to start this summer, push through for the next two years or so. 
  15217. **The key technology is XML, the extensible markup language which finally and forever breaks the relationship between information and the way it's presented. You're now probably saying yourself that XML isn't something new this month, th
  15218. at it's been around for some while so why am I only now proclaiming it to be the future of computing? Well, XML by itself is not enough, and nor is the provision of development tools either. For XML to change the world it needs to impact on everyone's day-to-day computing experience, and it's here that the next pieces are falling into place. Before I get too excited though, I should admit that the picture is still not fully complete, but the end-game is clear to see, the clock is ticking a
  15219. nd it's time to board the train. 
  15220. *The Office is Open
  15221. *Some months ago I expressed concern about rumours that were circulating regarding Office 11 having a heavy XML emphasis. I was concerned largely because Microsoft has traditionally not been the most open of companies when it comes to new data formats (and that's putting the matter in the kindest possible language). Take a data format like that used by Excel: from the beginning this has been known as BIFF, for Binary Interchange File Fo
  15222. rmat. BIFF is a private binary data format and it's not published anywhere. As if that weren't bad enough, with the arrival of structured storage Office documents, all BIFF information was poured into a stream inside a structured storage file, and to get to the structured storage streams you needed to use Microsoft's development APIs, thus making it doubly hard to read the data held in a worksheet. You could get a document from Microsoft that described the BIFF format, but this required si
  15223. gning an NDA (non disclosure agreement) and thus was only made available if you were considered a 'friendly'. Just to add insult to injury, it appears that a lot of the BIFF format is either not documented at all or is somewhat incomplete. The bottom line was clear - Microsoft didn't want you to read BIFF files except from Excel, and the same applied to the document format of Word, and the other Office applications. 
  15224. **Claims from Microsoft that it has now done a full 180 degree U-turn mi
  15225. ght rightly be treated with considerable suspicion. The first hints of this came a few months ago when the first beta of Office 11 showed that it could output XML data in a clear and coherent fashion, and that the text didn't appear to contain anything proprietary. After all, there is little point having an open, text-based XML file format if it's littered with large binary strings like <PRIVATE_MS_FORMAT> AB0F111944356FFCDB05566 </PRIVATE_MS_FORMAT>. 
  15226. **At that time I said that the proof
  15227.  of the pudding remained in the eating, and that I wouldn't be convinced until it was clearly proved that Microsoft understood the meaning of the term 'open' when it came to document file formats. Well, I'm here again to tell you that I think it really does now. And it comes down to the work of one man, Jean Paoli, an ebullient and passionate exponent of XML, who has been driving Microsoft's XML vision. You might expect this from him - after all his job title is Microsoft XML Architect - b
  15228. ut titles are one thing and credibility is another. He was the co-founder of the W3C XML 1.0 standard, and when you listen to him speak on the subject, you're left in absolutely no doubt that Microsoft XML data is open and ever shall remain so. 
  15229. **The extent to which Microsoft has managed to shoe-horn XML support into the forthcoming Office 11 product is something that really surprised me. I can now sit inside Access and output some data as an XML data file and its associated schema, then
  15230.  load up Word and bring that data straight into it. I can work on a Word document and mark it up with XML schema information, then punt it straight out into Excel. I can take some data from Excel and trundle it out onto a Biztalk server for queuing up into a large-scale workflow system. Or I could use the stunning Xdocs application, now renamed 'InfoPath' and use traditional drag-and-drop formatting and design tools to create whatever sort of data entry form, information browsing or data m
  15231. anipulation I might want to create. 
  15232. **Was it worth 24 hours of flying to San Francisco to listen to Paoli for the afternoon, bubbling with enthusiasm about how Office 11 was the first realisation of his lifelong XML dream? Yes, of course it was. When you talk to people of this calibre and understand the enormity of the volte-face that they've persuaded the Microsoft monolith to make, you cannot but help but be intrigued as to what they will come up with next. 
  15233. *And therein lies another t
  15234. ale. You can now take it as read that Microsoft is right up at the bleeding edge of XML work anywhere in the world. Companies like Sun who are battling to make OpenOffice and StarOffice into credible Microsoft Office clones have missed the point. Yet again, Microsoft's opponents have aimed at the wrong target. In the meantime Microsoft has not come up with the answer to 'what is a better Office?' but has chosen to redefine the question.  
  15235. **Look at the situation now. We have world-class d
  15236. evelopment tools for creating web services that sit on servers. These servers and objects can be inside your network, or they can be the other side of the world. We don't care what language you've used, or what platform they're running on - it could be Microsoft's common runtime, it could be Java, or it could be a BBC Micro, it doesn't matter a jot. We've already had one major wave of middle-tier engines in the shape of Biztalk and Transformation Services, and their equivalents from other 
  15237. companies, and everyone has learned from those experiences, and are pushing ahead with next generation solutions. 
  15238. **It's intriguing to see how Microsoft has taken a hatchet to its middle-tier engines and ripped them into pieces - Biztalk is no more, nor are the other platforms like Commerce Server and so forth. Everything is now being distilled down into common shared platforms, so there will be one workflow engine, one commerce pipeline, one application transaction server and so forth. 
  15239. And now we have the front-end tools, in the shape of the  Office 11 suite, to deliver a rich and meaningful experience to the desktop. It's now possible to move XML forward onto the desktop and backward to the back-end data stores too, and this is a new encompassing vision that demands serious attention.
  15240. *Where's the Store?
  15241. *There is however one major component missing, and that is storage. At this point, I have to make a leap of faith and do some speculating. If you think about it hard en
  15242. ough, it's a bit daft to store XML in text files called 'mydata.xml' on an NTFS hard disk - what we really need is a 'digital soup' store that just consumes XML data and looks after it. Well, I think its coming, and sooner than you might think. The WinFS (Windows File System) due to arrive with the Longhorn version of desktop Windows next summer is apparently just that, a native XML store. This timing and release pattern makes huge sense - release it on the client side first, and then foll
  15243. ow up in the Blackcomb server release a year later, where the data loads will be far higher. 
  15244. **Why would you want to store information in a digital soup? Well, the reasons are many and all utterly compelling. Consider how you store a file at the moment: Pop a text file called fred.txt into a directory called c:\worddocs. What do you know about this file? Well, you know it contains text by its .TXT extension; you know it's called 'fred'; you know you have put it into that directory. There
  15245.  are a few other important things you know too - like when you created the file from its creation date stamp, and you know when it was last changed too. There are some security properties associated with the file too, to allow the right people to access its information. 
  15246. **Now assume that this text file is in XML format, and that it contains the schema for something like an invoice - inside the file you know the invoice number, the number of items, the customer reference number and so for
  15247. th, all of which are properties of the information content, and the filename fred is just another of these properties, as is the directory it lives in. Imagine that you had a store that reads and consumes that XML file for you, much the way a database manager would do nowadays. Imagine that you have no fixed directories in this store either, but that these were just 'stored views' or 'catalogues'. Then you could view the information in any way you want, and you could spin it around and vie
  15248. w it in different ways for different purposes. 
  15249. **Let me give an example to explain this. If I knew how to store invoices from the XML schema, then it would be possible to see c:\company name\month\items sold\ and then see all the entries for products sold. So I might see c:\JonsCompany\January\Toothbrushes and then all the line items sold that month. However you might be interested in product first, and thus have c:\items sold\company name\month\ and thus turn this whole view on its head
  15250. . We would both be looking at the same data store, but viewing it from different perspectives. Once XML schema and meta-tags are surfaced into the store, this all becomes possible. You can see a very simple implementation of this today by going to an NTFS format store and looking in Explorer at a pile of Office documents. Right-click on the headings and choose some of the other meta-tags which can be exposed. Now take this mindset and expand it up to a wholly generalised customer-defined s
  15251. et of schemas. 
  15252. **Will this all arrive with Longhorn? All the indications, plus various nudges and winks and off-the-record chats suggest that it might, but it's clear that going for a unified information store is the last remaining piece of the XML puzzle which needs to be fulfilled. Hence, to come full circle, back to my opening prediction. Once we take today's middle-tier and application development capabilities and wrap in Office 11 as a first-cut version of XML on the desktop, then f
  15253. ortify the rear by changing the storage to a native XML store, the transition to the next computing era will have happened. 
  15254. **Do you grasp just how fantastically exciting this all is? Of course there will many who just don't see the point, who 'don't get it'. These people will happily stay in the current OS/Office world for some years to come, in just the same way that many stayed with Wordperfect and Lotus 123 well into the GUI era. I think Microsoft knows this clearly enough, but also 
  15255. knows that they'll be back in a few years once the dust has settled. Being a pioneer is not without its bruises, and looking back over my computing career I can think of times when maybe I pushed the boundaries a bit too far. But that is what I was paid to do and so 'je ne regret rien'. For those of you who shudder at the thought of having to make this XML world work, rest assured that there's still plenty of short-and-medium term future for the status quo. Just don't be upset if some of u
  15256. s hitch the horses to the wagons and head west... 
  15257. *OneNote
  15258. *I'm sure Contributing Editor Simon Jones is going to be detailing many of the new Office 11 features in his own column, but I just have to tell you about OneNote. I've installed this onto my Compaq tablet PC, and it's utterly compelling. Such clarity of thinking, such fantastically straightforward problem solving, I'm completely hooked. Go into a meeting, put the tablet on the table and press the record button. Record the entire 
  15259. meeting and have all of your typings, jottings and scribbles time-stamped. Go back to your desk, sync the information to your desktop and main servers and open the file up there. Click on the little loudspeaker icon next to any item and it plays the sound recording around the time when you made that entry. There's no object model, no macro language, no XML data store (yet). It's a very simple design in this first release, but still a joy to behold, and it comes from the Word group at Micro
  15260. soft, clearly showing how they're prepared to 'think out of the box' when it comes to new ways of working with information. I really hope this doesn't get sidelined by inter-department rivalry. In truth, some child of OneNote ought to become the universal canvas and active surface of your desktop, laptop and PDA in the future. 
  15261. **A Chair for Windows
  15262. *I'll admit this sounds a bit silly, but finding a decent office seat is incredibly difficult. The cheap ones seem to be too flat, too hard, 
  15263. too slippery, or just plain uncomfortable. That ubiquitous Herman Miller 'Aeron' (an Aertex vest of a chair) smacks too much of dot com madness. Years ago Recaro, the company famous for its car seats for road and race applications, did an office seat called the IdealSeat C which was ferociously expensive, but consisted of a top of the line Recaro car seat mounted onto an office base. I didn't buy one then, pleading poverty, but I've regretted it ever since. Good posture is not optional if 
  15264. you spend hours in front of a computer. So you can imagine my delight at finding that Recaro has started to make them again, and you can order direct from <A HREF="http://www.recarodirect.co.uk" target="_BLANK">www.recarodirect.co.uk</A>. I chose the fabric model called 'Filum' and it's utterly fantastic - supportive, comfortable, and holds me in place as I swerve around the keyboard at high speed trying to get overdue articles written (sorry, Mr Editor!). Treat yourself, your back will loa
  15265. ve you forever.
  15266. HdHoping his crystal ball is in working order, Jon Honeyball looks at what could be the next Big ThingL    June 2003X
  15267. 104 (June 2003)i
  15268. Advanced Windows
  15269. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  15270. O+O+O+O+Oz
  15271. +O+O+O+O
  15272. O+O+O+O+O+O+O
  15273. +O+O+OO+O+O+O+O+O+O+O+O+O
  15274. O+O+O+O+O+O+O+O+O+O+O
  15275. +O+O+OO+O+O+O+O+O+O+O+O+O
  15276. O+O+O+O+O+O+O+O+O+O+O
  15277. +O+O+OO+O+
  15278. O+O+O+O+O+O+O+O
  15279. O+O+O+O+O+O+O+O+O+O+O
  15280. +O+O+OO+O+O+O+O+O+O+O+O+O
  15281. O+O+O+O+O+O+O+O+O+O+O
  15282. +O+O+OO+O+O+O+O+O+O+O+
  15283. +O+O+O+O+5O+O+O+O
  15284. I+O+O+O+O+O+O+O
  15285. +O+O+O+O+O+O+OO+O+O+O+O+O+
  15286. +O+O+O+
  15287. +O+O+OO+O+O+O+O+O+O+O+O+O
  15288. %U%U%U%+
  15289. O+O+O+O+O+O+O
  15290. +OO+O+O+O+O+O+O+O+O+O
  15291. O+O+O+O+O+O+O+O+O+O+O+O+O
  15292. +OO+O+O+Oz
  15293. +O+O+O+O
  15294. O+O+O+O
  15295. O+O+O+O+O+O+O+O+O
  15296. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  15297. O+O+O+O+O+O+O+O+O
  15298. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  15299. O+O+O+O+O+O+O+O+
  15300. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  15301. O+O+O+O+O+O+O+O+O
  15302. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  15303. O+O+O+O+O+O+O+O+O
  15304. O+O+O+O
  15305. +O+O+OO+O+O+O5+O+O+O+O+O+O+O
  15306. +O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  15307. +O+O+O+O+O+O
  15308. +OO+O+O+O+O+O+O+O+O+O
  15309. amandaA
  15310. amaray
  15311. amaretto
  15312. amateur~
  15313. amateurish
  15314. amateurism
  15315. amateurs
  15316. amazeA
  15317. amazedL
  15318. amazingJ
  15319. amazingly
  15320. amazonI
  15321. amazon'sI
  15322. amazons
  15323. amber
  15324. ambience
  15325. ambient
  15326. ambiguous
  15327. ambit
  15328. workspaceK
  15329. workspacesK
  15330. workstationC
  15331. workstation's
  15332. workstation-based
  15333. workstation-class
  15334. workstationsF
  15335. worl002
  15336. managementA
  15337. O+O+O+O+O+O
  15338. %U%U%U%U%U%U%+
  15339. O+O+O+O+O+O+O
  15340. O+O+O+O+O+O+O+O
  15341. OO+O+O+O+O+O+O+O+O+O,N,O+O+O+Oz
  15342. +O+OO+O+
  15343. O+O+O+O+O+O+O
  15344. O+O+O+O+O+O+O+O+O{
  15345. O+O+O+
  15346. O+O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O,N,O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+OO+O+O+O+O
  15347. +O+O+O+O,N,O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O,N,O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O,N,O+O+O+O+O+O+O+O2+O+O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O,N,O+O+O+O+O+O+O+
  15348. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  15349. %U%U%U%U%U%U%+
  15350. O+O+O+O+O+O+
  15351. O+O+O+O+O+O+O+O
  15352. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  15353. O+O+O+O+Oz
  15354. +O+O+O+O
  15355. O+O+O+O+O+O+O
  15356. +O+O+O+OO+O+O+O+O
  15357. O+O+O+O+O+O+O+O
  15358. O+O+O+O+O
  15359. +O+O+O+O+O+O+O+O
  15360. I+O+O+O+O+O+O+O
  15361. +O+O+O+O+O+O+O
  15362. O+O+O+O+O+O+O+O+O+O,N,O+O+O+O+O+O+O+O+O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O,N,O+O+O+O+O+O+O+O+O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O,N,O+O+2O+O+O+O+O+O+O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O,N,O+O
  15363. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  15364. %U%U%U%U%U%U%+
  15365. O+O+O+O+O+O+O
  15366. O+O+O+O+O+O+O+O
  15367. piperN
  15368. pipesr
  15369. pipex
  15370. piping
  15371. pique
  15372. piquedJ
  15373. piquesH
  15374. piracyN
  15375. pirate
  15376. piratedm
  15377. piratesm
  15378. pirating
  15379. pirch
  15380. pisoft
  15381. piss-up
  15382. pissed
  15383. pitchM
  15384. pitch-bend
  15385. pitch-conversion
  15386. pitch-correcting
  15387. pitch-detection
  15388. pitch-shift
  15389. pitch-shifted
  15390. pitch-to-midi
  15391. pitched
  15392. pitched-shifted
  15393. pitchesK
  15394. pitfall
  15395. pitfalls
  15396. +O+O+O+O+O+O+O
  15397. +O+O+O+O
  15398. I+O+O+O
  15399. +O+O+O+O+O
  15400. O+O+O+O
  15401. O+O+O+O+O
  15402. +O+O+O
  15403. +O+O+O+OO+O+O+{
  15404. +O+O+O+O
  15405. O+O+O
  15406. O+O+O+O+O+O+O+O
  15407. O+O+O+z
  15408. +O+O+O
  15409. +O+O+
  15410. +O+O+OO+O+O+O+O+O+O+O+O+
  15411. I+O+O+O+O+O
  15412. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  15413. I+O+O+O+O+O
  15414. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  15415. I+O+O+O+O+O
  15416. +O+O+O+2O+O+O+OO+O+O+O+O+O+O+O+O+O
  15417. I+O+O+O+O+O
  15418. +O+O+O
  15419. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  15420. %U%U%U%U%U%U%+
  15421. O+O+O+O+O+O+O
  15422. O+O+O+O+O+O+O+O
  15423. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  15424. O+O+O+O+Oz
  15425. +O+O+O+O
  15426. O+O+O+O+O
  15427. O+O+O+O+O+O+O+O
  15428. +O+O+O
  15429. +O+O+
  15430. +O+O+O+O+O+O
  15431. O+O+O+O+O+
  15432. O+O+O+O
  15433. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  15434. O+O+O+O+O+O+O+O+O
  15435. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  15436. O+O+O+O+O+O+O+O+O
  15437. O+O+O+O+O+O+O+O2+O+O+O+O+O+O+O
  15438. O+O+O+O+O+O+O+O+O
  15439. O+O+O+O+O+O+O+
  15440. +O+O+O+OO+O+O+O+
  15441. winksT
  15442. winmark
  15443. winmgmts
  15444. winmm
  15445. winmodem
  15446. winmsd
  15447. winner
  15448. winners
  15449. winning
  15450. winnt
  15451. winnt/system32/cmd
  15452. winnt32
  15453. winoncd
  15454. winpad
  15455. winpmail
  15456. winpop
  15457. winpopup
  15458. winprocs
  15459. withA
  15460. O+O+O+O
  15461. O+O+O+O+O+O+O+O+O+O+O+O+O
  15462. +OO+O+O+O+O+O
  15463. O+O+O+O+O+O+O
  15464. +O+O+OO
  15465. +O+O+O+O+O+O
  15466. I1I1I
  15467. +O+O+O+O
  15468. O+O+O+O+O+O+O+O
  15469. %U%UI1I1I1I1I
  15470. +O+O+O
  15471. +O+O+
  15472. +O+O+O
  15473. +O+O+OO+O+O+O+O+O+O+
  15474. O+O+O
  15475. O+O+O+O+O+O+O+O+O+O+O
  15476. +O+O+OO+O+O+O+O+O+O+O+O+O
  15477. O+O+O+O+O+O+O+O+O+O+O
  15478. +O+O+OO+O+O+O+O+O+O+O+O+O
  15479. O+O+O+O+O+O+O+O+O
  15480. +O+O+OO+O+O+O+O+O+O+O+O+O
  15481. O+O+O+O+O+O+O+O+O+O+O
  15482. +O+O+OO+O+O+O+O+O+O+O+O+O
  15483. O+O+O+O+O+O+O+O+O
  15484. +O+O+OO+O+O+O+O+O+O+O
  15485. O+O+O+O+O+O+O+O+O+O+O
  15486. +O+O+OO+O+O+%
  15487. +O+O+OO+O+O+O+O+O
  15488. +O+O+
  15489. +O+O+O+O+OO+O+O+O
  15490. OO+O+O+
  15491. O+O+O
  15492. O+O+O+O+O+O+O+O+O
  15493. O+O+z
  15494. +O+O+O
  15495. +O+O+
  15496. +O+O+
  15497. +OO+O+O+O+O+O+O+O+O+O
  15498. O+O+O+O+O+O+O+O+O+O+O+O+O
  15499. +OO+O+O+O+O+O+O+O+O+O
  15500. O+O+O+O+O+O+O+O+O+O+O+O+O
  15501. +OO+O+O+O+O+O+O+O+O+O
  15502. O+O+O+O+O+O+O+O+O+O+O+
  15503. +OO+O+O+O+O+O+O+O+O+O
  15504. O+O+O+O+O+O+O+O+O+O+O
  15505. lovesJ
  15506. lovinglyw
  15507. low-band
  15508. low-bandwidth
  15509. low-budget
  15510. low-charisma
  15511. low-circulation
  15512. ltalt-f9
  15513. ltctrl-shift-6
  15514. ltmusicM
  15515. ltshift-w
  15516. luckN
  15517. luckilyM
  15518. David Moss and Jon HoneyballD
  15519. Loss of profile
  15520. Never put off until tomorrow what you can do today - a smug, trite homily that overlooks all those serious reasons that may have stopped you doing it, but one that nevertheless still contains a grain of truth. Here's a case that illustrates it perfectly. A Windows 2000 Domain Controller fails: it's a hardware problem and you need to replace the server with a new one. It was the sole server in this network and backups were, let's say, on the scarce side. As a result, a new Windows 2000 Serv
  15521.  marketing beta whose purpose isn't so much to find and fix bugs, but to get the world ready for the new suite. The completed product should be released to manufacturing (RTM) at the end of May.
  15522. *Most of its parts seemed to work, although there was the usual quota of crashes and 'unexpected' results during some of the demos. There are new features for all of the Office applications - some have been changed more than others. Some wholly new applications have been added to the suite, but Mic
  15523. rosoft isn't yet saying which versions of the suite will come with which mix of applications.
  15524. *Microsoft has concentrated the changes in Office 2003 to favour what it calls the 'Information Worker', which seems to mean the corporate customer. XML support, SharePoint integration and Information Rights Management are all big themes in this version. InfoPath, one of the two new applications, is squarely aimed at corporate customers and it's difficult to imagine any single PC or home user havi
  15525. ng much use for it. OneNote, however, is definitely a personal productivity tool and performs best on a Tablet PC with a pen interface.
  15526. *No version of Office seems to come without a complete redesign of all the menus and toolbars - I suppose it keeps the third-party tool vendors on their toes, as they'll have to redesign their menus and toolbar tools to stay looking like Office. If you use the standard Windows XP Theme (Luna-Blue), the menus and toolbars will be a pale to medium blue: tool
  15527. bars look slightly convex and icons have been redrawn to take advantage of the greater colour depth available on most modern displays. The icon editor, however, seems to be stuck in 16 colours, but perhaps that will change before RTM. 
  15528. *TaskPanes are also now much in favour. Most of the applications open with a Getting Started TaskPane that offers help and links to open existing or create new documents. All applications share the new Research TaskPane, in which you can search a variety of 
  15529. reference sources for articles about any topic. Some of these sources are free, such as Encarta World Dictionary, while others such as E-Library must be paid for. E-Library is currently a free trial, but will cost $14.95 (
  15530. 9) a month or $79.95 (
  15531. 50) a year - a heck of a price for a collection of magazine articles. Factiva, another paid-for research library, offers business intelligence from Reuters and Dow Jones, but doesn't seem to have published its price list.
  15532. *Microsoft promises conten
  15533. t providers with local and international relevance, but I remain sceptical. I reckon there'll be a few free services, some international services and no local services at all by launch day. The paid-for services will probably all require you to have a credit card. This isn't much of a problem for UK users, but elsewhere in the world credit card usage is much less widespread.
  15534. *Much of the new integration is with SharePoint Services - a grown-up version of SharePoint Team Services that shipp
  15535. ed with some versions of Office XP. The new version of SharePoint will ship as an add-on to Windows Server 2003. It's vastly superior to the previous offering, but does need Windows Server 2003 on which to run. SharePoint is such a significant piece of technology that it deserves a column to itself, so you'll have to wait with bated breath until next month. 
  15536. *A new feature that works in just about every application in the suite is dubbed IRM (Information Rights Management). This allows you
  15537.  to protect your documents from being read by unauthorised people. Documents and emails that are flagged as protected get encrypted so they can only be read by users with specified email addresses, and these people can be prevented from printing, forwarding or copying the data in that document or email. The protected document or email may also be set to expire on a certain date, after which only the creator of the document can open it. 
  15538. *This will all sound very good to companies that want
  15539.  to stop information leaking, but there are nevertheless some significant caveats. IRM depends on having Windows Server 2003 in your organisation, installing an update to the Windows operating system on every client PC and having each client PC 'authenticated' by Microsoft. Users who don't have Office 2003 can only see IRM-protected content if they download and install a plug-in for Internet Explorer. 
  15540. *There are as yet no IRM clients for Pocket PC or Smartphone devices, so they can't be u
  15541. sed to read IRM-protected documents or emails. If you want to send IRM-protected content outside your organisation, you have to give the recipient access to your IRM server, the one running Windows Server 2003. I'll be looking at this feature in depth in a later column, but I'm sure you'll find much more about it in Jon Honeyball's column.
  15542. *Two months ago, I wrote extensively about the support for XML in Office 2003, particularly as it will affect developers. From the end-user perspective,
  15543.  it will be possible to integrate XML data easily into Word, Excel, Access and FrontPage documents. This XML data may come from Web Services, a database query, an InfoPath form or by any other means. 
  15544. *Word and Excel can now save files in native XML format rather than the current DOC and XLS formats. They can also have custom XML Schemas applied to a document or template, giving that data more meaning and relevance than just cells or paragraphs. Documents based on templates with a custom s
  15545. chema may be saved as pure XML with all the formatting staying in the template. Change the template, and the documents based on it will also change. 
  15546. *You can apply transformations to the XML documents or suck them straight into a database or BizTalk server. Templates with custom XML Schemas can have custom TaskPanes that help the user complete the document, offering context-sensitive help relevant to wherever the insertion point is in the document. XML support, along with many of the othe
  15547. r enhancements, is most applicable to corporate users and for many applications there will be little to tempt single or home users to upgrade.
  15548. *Searching the Help text, if you have an Internet connection, will also search Microsoft's new Office Online website, which keeps Help up-to-date and means Microsoft can add new Help to address any problems that come to light after the suite is released. Microsoft has also been busy writing mini-online tutorials to help newcomers to the suite make t
  15549. he most of their investment. For instance, one of the tutorials for Excel shows you how Excel deals with time values, how to format them and perform arithmetic with them.
  15550. *Word 2003 contains all the enhancements described above and a few more of its own, including Reading view, style lockdown and section protection. Reading view is long overdue: Microsoft has finally realised that many documents are opened and closed again without any changes being made; that is, the user is reading the do
  15551. cuments rather than editing them. Reading view shows a single or double-page spread with much less on-screen clutter: margins are reduced, unnecessary toolbars turned off and so on. You still can show the document map, which lists the headings or thumbnails of the pages. 
  15552. *Reading layout uses ClearType technology to make fonts smoother, and you may increase or decrease the size of the type without changing the font sizes in the document. The layout is very good for reading a document and a
  15553. dding comments, but beware that digital ink mark-ups (circling, underlining or drawing arrows pointing to words or phrases) may cause problems. Ink is tied to a paragraph rather than to individual words or characters, so in other views the different margins and word-wrap may change the position of the ink relative to the text. 
  15554. *You can now lock a document or template so that users are only able to format the document by selecting styles, which stops them from applying arbitrary formatting
  15555.  of their choosing. You can also protect sections of a document from being changed, or enforce change-tracking. Again, these are good options for corporate users who share documents. The IT department can create document templates to match the corporate identity and the users can't stray from these standards. Some industries have to keep a change-history for certain legal documents and so enforcing change-tracking will suit them very well.
  15556. **Excel and PowerPoint
  15557. *Excel has probably change
  15558. d the least of all the applications in Microsoft Office. Apart from XML Support and an updated UI appearance, there's little obvious benefit for a single or home user. Finding and downloading template workbooks from Microsoft has been made easier and there's a new Lists feature that makes worksheets behave more like a table in a database. The IRM feature and SharePoint integration will benefit corporate users only.
  15559. *PowerPoint has had a minimal makeover too, but can now save completed pres
  15560. entations to CD-ROM along with an updated viewer - pop the CD into any computer and the presentation starts to play. You can also embed Windows Media Video files into a presentation and have them play full screen.
  15561. *The application that has received the most obvious improvements is Outlook. Microsoft says it was aiming for simplicity in this release and that options should now have sensible defaults for those 80 per cent of users who never look inside the Options dialog. Outlook looks radic
  15562. ally different from previous incarnations and the changes behind the scenes are legion. On the surface, having the new Reading pane on the right-hand side rather than at the bottom doesn't sound like much of an improvement, but it is. The shorter lines that result are easier to read, you can see more of a message without having to scroll, and the solid grey border and white margin around the text helps your eyes stay focused as you read. 
  15563. *To accommodate this Reading pane, the list of mess
  15564. ages has become thinner and now shows each item on two lines, while the Outlook Bar and Folder List have merged to form the Navigation Bar. This shows icons for the various functions of Outlook such as Mail, Calendar, Tasks and the rest at the bottom - the top section of this Navigation Bar changes according to which function is selected. It took me a while to get accustomed to the Navigation Bar, as I was used to having shortcuts to frequently used folders always accessible in the Outlook
  15565.  Bar and the full folder list right next to it. Switching between Mail, Calendar, Task and Shortcuts functions on the Navigation Bar seemed cumbersome at first, but now I've been using it for a while I'm finding it more amenable, especially when dealing with multiple calendars or contact folders.
  15566. *New to Beta 2 of Outlook is an updated junk mail filter, which has a new filter engine along with lists for trusted senders, trusted recipients and junk mail senders. Microsoft is promising to ke
  15567. ep the filter up-to-date, distributing updates as necessary through the Office Update website. The junk mail filter in previous versions was never updated and virtually all junk mail merchants knew what keywords would trigger it and so avoided putting them in their messages. This version still isn't the Holy Grail - that is, a fully Bayesian filter that learns what you think is and isn't spam - but it's certainly better than the previous offering.
  15568. *Another new feature I've found useful is 
  15569. quick flags. You can now apply one of six coloured flags to any mail item with a single click. It's up to you how you use these flags, though it would have been nice to be able to label them with some text rather than just a colour. As before, you can add reminder text and a date/time to get a pop-up reminder later, but you don't have to do this just to get a flag. One of the new search folders constantly looks for flagged items and shows them all together, grouped by flag colour.
  15570. *Search 
  15571. folders themselves are another welcome improvement. Anything you can search for using the Find or Advanced Find functions can be set up as a Search Folder, with the results of that search constantly updated in the background. If you have Exchange Server 2003, these searches can be performed on the server. Out of the box, Outlook comes with search folders for unread messages, flagged messages and large messages. The New Search Folder user interface is easy to use, but you can also use Find 
  15572. or Advanced Find and save your query as a new search folder.
  15573. *If you use Exchange Server, you'll notice some big improvements in connectivity, as you can now set up Outlook to use a cached copy of your Exchange mailbox. This is a single tick-box option rather than the raft of questions you used to have to answer to set up an OST (Offline Storage file) with synchronisation. The cached mailbox gets synchronised automatically whenever Exchange server is available and Outlook doesn't mind if t
  15574. he connection to Exchange disappears or reappears, so you no longer have to shut Outlook before unplugging the network connection. The connection to Exchange is now speed sensitive: on a slow link, such as a dial-up connection, all the headers are downloaded first and then the message bodies. You can also set up a connection to Exchange Server 2003 via HTTPS without needing a VPN (Virtual Private Network).
  15575. **Small Business Edition
  15576. *Destined, I think, for the Small Business Edition of Offi
  15577. ce are Publisher and an add-on to Outlook called Business Contact Manager. Publisher has had a good makeover with many new and improved features. For instance, it can now create HTML emails to publicise your business or turn an existing print publication into a collection of pages to be published on your website. 
  15578. *Business Contact Manager, however, is a miserable thing. It's supposed to be an extension of Outlook contacts that shows the hierarchy of companies and contacts and the history 
  15579. of all your dealings with each contact. Microsoft claims it's designed for companies with less than 25 employees, yet Business Contact Manager is most definitely a single-user application. It can't use Exchange Public Folders, data is stored in MSDE (Microsoft SQL Server Desktop Engine) and the forms it uses aren't customisable in any way. How many companies of five people, let alone 25, have just a single person responsible for contacts with customers?
  15580. *Business Contact Manager won't grow
  15581. 2 with your business, so it's a complete non-starter. I think either its designers were given a duff brief, or more likely the marketing people have been sticking their oar in again, trying to ensure Office won't compete with Microsoft's own new Great Plains CRM (Customer Relationship Management) software.
  15582. HWSimon Jones tests Office 2003 and brings you his verdict of what Microsoft has in storeL    June 2003X
  15583. 104 (June 2003)i
  15584. Applications
  15585. toolbarG
  15586. toolbar's
  15587. toolbar/menu-handlin
  15588. toolbar2000
  15589. toolbar97
  15590. toolbardisplay
  15591. toolbarsU
  15592. toolbarwindow32
  15593. toolbookk
  15594. toolbook's
  15595. toolbook-authored
  15596. toolbook-created
  15597. ainingD
  15598. transactionN
  15599. transactionse
  15600. transferE
  15601. +O+O+O+O+O
  15602. +O+O+
  15603. +O+O+OO+O+O+O{
  15604. O+O+O
  15605. O+O+O+O+O+O+O+O+O
  15606. O+O+z
  15607. +O+O+O+O+OO+O+O+O+O+O+O+
  15608. O+O+O
  15609. O+O+O+O+O+O+O+O+O
  15610. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  15611. O+O+O+O+O+O+O+O+O
  15612. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  15613. O+O+O+O+O+O+O+O+O
  15614. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  15615. O+O+O+O+O+O+O+O+O
  15616. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  15617. O+O+O+O+O+O+O+O+O
  15618. +O+O+O+O+OO+O+O+O+O+O+O+OI+O+O
  15619. O+O+O+O+O+O+O
  15620. +O+O+O+O+OO+O+O+
  15621. O+O+O+O+O
  15622. +O+O+O+
  15623. +O+O+
  15624. +O+O+OO+O+O+O+O+O+O
  15625. +O+O+O+O
  15626. O+O+O+O
  15627. O+O+O+O+O+O+O+O
  15628. O+O+z
  15629. +O+O+
  15630. +OO+O+O+O+O+O+O+O+O+O
  15631. O+O+O+O+O+O+O+O+O+O+O+O+O
  15632. +OO+O+O+O+O+O+O+O+O+O
  15633. O+O+O+O+O+O+O+O+O+O+O+O+O
  15634. +OO+O+O+O+O+O+O+O+O+O
  15635. O+O+O+O+O+O+O+O+O+O+O+
  15636. +OO+O+O+O+O+O+O+O+O+O
  15637. O+O+O+O+O+O+O+O+O+O+O+O+O
  15638. +OO+O+O+O+O+O+O+O+O+O
  15639. O+O+O+O+O+O+O+O+O+O+O+O+O
  15640. +OO+O+O+O+O+O+
  15641. O+O+O+O+O+O+{
  15642. +O+O+OO+
  15643. O+O+O
  15644. O+O+O+O+O+O+O+O+O
  15645. O+O+z
  15646. +O+O+O+O+O+O
  15647. +O+O+
  15648. +O+O+O+O+OO+O+O+O+O+O+O
  15649. +O+O+O+O+OO+O+O+O+O+O+O+O+O
  15650. OO+O+O+O+O+O+O
  15651. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+P*P
  15652. OO+O+O+O+O+O+O
  15653. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+P*P
  15654. OO+O+O+O+O+O+O
  15655. +O+O+O
  15656. +O+O+O+OO+O+O+O+O+O+O+O+O+P*P
  15657. OO+O+O+O+O+O+O
  15658. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+P*P
  15659. OO+O+O+O+O+O+O
  15660. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+CP*P
  15661. OO+O+O+O+O+O+O
  15662. +O+O+O+O+O+O+OO+O+O+O+O
  15663. O+P*P+O+O+O+O+O+O
  15664. OO+O+
  15665. +O+O+OO+O+O+O+{
  15666. +O+O+O+O
  15667. O+O+O+O+O+O+O
  15668. %UI1I1I1I1I1I1I
  15669. +O+O+O+O+O+O
  15670. +O+O+
  15671. +O+O+O+O+OO+O+O+O+O+O+O
  15672. +O+O+O+O+OO+O+O+O+O+O+O+O+O
  15673. OO+O+O+O+O+O+O
  15674. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+P*P
  15675. OO+O+O+O+O+O+O
  15676. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+P*P
  15677. OO+O+O+O+O+O+O
  15678. +O+O+O
  15679. +O+O+O+OO+O+O+O+O+O+O+O+O+P*P
  15680. OO+O+O+O+O+O+O
  15681. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+P*P
  15682. OO+O+O+O+O+O+O
  15683. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+
  15684. OO+O+O+O+O+O+O
  15685. +O+O+O+O+O+O+OO+O+O+O+O
  15686. O+P*P+O
  15687. doublyT
  15688. doubtD
  15689. doubters
  15690. doubtfulu
  15691. doubting
  15692. doubtlesss
  15693. shortlyA
  15694. shorts
  15695. shortwave
  15696. 1I1I1I1I
  15697. O+O+O+O+O
  15698. %U%U%U%U%U%UI1I1I1I1I1I1I1I1I1I
  15699. O+O+O+O+O+O+O+O+O
  15700. %U%U%U%U%U%UI1I1I1I1
  15701. I1I1I1I1I1I
  15702. O+O+O+O+O+O+O+O+O
  15703. %U%U%U%U%U%UI1I1I1I1I1I1I1I1I1I
  15704. O+O+O+O+O+O+O+O+O
  15705. %U%U%U%U%U%UI1I1I1I1I1I1I1I1I1I
  15706. O+O+O+O+O+O+O
  15707. %U%U%U%U%U%UI1I1I1I1I1I1I1I1I1I
  15708. O+O+O+O+O+O+O+O+O
  15709. %U%U%U%U%U%UI1I1I1I1I1I1I1I1I1I
  15710. O+O+O+O+O+O+O+O+O
  15711. %U%U%U%U%U%UI1I1I1I1I
  15712. 1I1I1I1I1I
  15713. O+O+O+O+O+O+O+O+O
  15714. %U%U%U%U%U%U%
  15715. +O+O+OO+O+O+O+O+O
  15716. +O+O+O+O+O+OO+O+O
  15717. +O+O+O+O+O+O
  15718. I+O+O+O
  15719. +O+O+O+O+O+O+OO+O
  15720. +O+O+OO+
  15721. O+O+O+O+O+O+O
  15722. +O+O+O+O+OO+O+O+O{
  15723. +O+O+
  15724. +O+O+OO+O+O+O+O+
  15725. +O+O+
  15726. +O+O+OO+O
  15727. +O+O+O+
  15728. +O+O+OO+O+O+O+O+O+O+O+O+O
  15729. O+O+O+O+O+O+O+O+O
  15730. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  15731. O+O+O+O+O+O+O+O+O
  15732. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  15733. O+O+O+O+O+O+O+O+O
  15734. +O+O+O
  15735. +O+OO+O+O+O+O+O+O+O+O+O
  15736. O+O+O+O+O+O+O+O+O
  15737. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  15738. O+O+O+O+O+O+O+O+O
  15739. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  15740. O+O+O+O+O+O+O+O+O
  15741. +O+O+O+O+OO+O+O+O+O+O+O
  15742. OO+O+O+O+O+O+O+P
  15743. O+O+O+O
  15744. O+O+O+O+O+O+
  15745. Paul LynchD
  15746. eBooks in your Palm
  15747. One of the best reasons for owning a PDA, beyond the now-boring PIM functions that come with every device, is the ability to view portable multimedia content. For audio, PDAs aren't as good as dedicated MP3 players, but they do work well for reading eBooks. Dedicated eBook readers, however, are one gadget too far. I can juggle a PDA, mobile phone and MP3 player, but it's just as easy to pack a paperback as to bother with an eBook reader. 
  15748. *Some people can't cope with reading text on a PDA,
  15749. er is configured from scratch, DNS installed, DHCP goes in and it's now Friday night so we'll sort the rest out on Monday...
  15750. *On Monday, your good intentions are pushed aside as you're plunged into a sea of other unrelated problems, and by lunchtime Friday's incident is all but forgotten. Everyone can log in, has access to the Internet (so DNS must be working) and they're happy. Until, that is, you come to apply some NTFS permissions to a folder and discover that, while you can see the Eff
  15751. ective Permissions for local users, Windows flatly refuses to display those details for any domain user, regardless of who they are or their status.
  15752. *Something is niggling your mind, but you can't quite put your finger on it. You check a whole slew of parameters, but you still can only view the Effective Permissions for local users. 
  15753. *After a while it occurs to you to look at the Event Viewer, and there under Application you discover rows of the dreaded white-on-red Xs. You see that the sa
  15754. me three errors are repeating, the first of which (Event ID 1030) says:
  15755. *'Windows cannot query for the list of Group Policy objects. A message that describes the reason for this was previously logged by the policy engine.'
  15756. *Error number two (Event ID 1053) says:
  15757. *'Windows cannot determine the user or computer name (Access is denied), Group Policy processing aborted.'
  15758. *Error number three (Event ID 1058) says:
  15759. *'Windows cannot access the file gpt.ini for ... (The network path was not found.)
  15760.  Group Policy processing aborted.'
  15761. *You could be forgiven for thinking this is a Group Policy issue, and, of course, it is, but its underlying cause is DNS or, more specifically, cached DNS on those client machines that survived the domain controller crashing last week. Everyone was largely unaffected then, because when Windows XP found it couldn't access the domain controller for logon, their cached logon credentials were used and are still being used. 
  15762. *The confirming test is simple enou
  15763. gh: fire up a Command Prompt and enter 'ipconfig'. A glance shows that the IP address for the system is correct, as is the subnet mask, and the default gateway is properly configured. Now you have to bravely type 'ipconfig /flushdns', which clears the DNS cache on the client system - you prove that by typing 'ipconfig /displaydns'. 
  15764. *You can try to re-register the DNS data by typing 'ipconfig /registerdns', then attempt to examine the Effective Permissions once more. Now the system can't s
  15765. ee any domains at all. 
  15766. *Turn to the server and examine the event logs - it's packed with error messages (Event ID 5513), each saying the same thing about a different network client:
  15767. *'The computer COMPUTER NAME tried to connect to the server \\SERVERNAME using the trust relationship established by the DOMAINNAME domain. However, the computer lost the correct security identifier (SID) when the domain was reconfigured. Re-establish the trust relationship.'
  15768. *With a sinking feeling, you reali
  15769. se the problem's been there since that old domain controller went belly-up, and you know only too well what happens next. In My Computer | Properties | Computer Name, click the Change button and remove the system from the domain, then tell it that it's in a workgroup (whose temporary name is unimportant) and restart the system. 
  15770. *Now repeat, taking the system out of the temporary workgroup and rejoining it to the domain. You've cured the Effective Permissions problem, your system and the d
  15771. omain can see each other again, and everyone's happy. Except you, who now has the unenviable task of explaining to all these users that they're about to get a new SID and local profile, which means they're going to lose their Desktop, their My Documents folder, possibly access to some applications (depending on how they were installed) and plenty more. You're not going to be popular around the office.
  15772. *But fear not. I'll show you how to restore those users' Desktops and, while the process 
  15773. is a little tedious, you'll make a lot of people's lives easier. This isn't going to work for systems with thousands of users, but at that level you'd have had proper backups and probably more than one domain controller, wouldn't you? The key to the solution is that while you're now using a new profile, the old one still exists on the system - you have to get the system to use the old version. 
  15774. *To see this, take a look in the Documents and Settings folder, where you'll find a folder with 
  15775. a logon name, plus a new folder with that same logon name appended to the domain name:
  15776. *Old profile folder name: fred
  15777. *New profile folder name: fred.fredscompany
  15778. *You could just copy all the shortcuts, documents and so on from the old profile, but that would lose Desktop settings and personal settings for applications. To use all the old settings with the new profile, you need to re-permission the ntuser.dat (HKEY_CURRENT_USER hive) in the fred profile so that the 'new' fred account can us
  15779. e it, while at the same time you want the new account to access the old profile folder to save copying all the documents across. To do this, follow these steps.
  15780. *Log on as an Administrator. Note that if the 'new' domain account belongs to the Local Administrators group, you don't need to perform the following steps. This is because local administrators have full control of ntuser.dat, but it's unlikely that a standard user will be an administrator.
  15781. *To re-permission ntuser.dat,  launch reg
  15782. edt32.exe and then highlight HKEY_LOCAL_ MACHINE. From the File menu select Load Hive and browse to the Documents and Settings\fred folder. Select ntuser.dat (if you can't see it, you need to configure the system to view hidden files). You'll be prompted for a name, and as before the temporary name you choose is unimportant. You'll now have a new hive listed under HKEY_LOCAL_MACHINE.
  15783. *Select the new hive and go to Edit | Permissions. Remove the SID entry that you'll see there (a string of 
  15784. numbers following an icon of a user's head, with a red question mark on it indicating that this SID can't be resolved - if it could, you'd see the friendly name of the account holder rather than this numeric code). Now add the new fred account. 
  15785. *You can now unload the hive via File | Unload Hive. Go back to Documents and Settings, locate the old profile and change its NTFS permissions. Remove the old SID entry and add the 'new' account, making sure it has Full Control and also ensuring th
  15786. at the account is given access to all subfolders and files.
  15787. *Next, get the system to load the old profile when the 'new' account logs on. Run regedt32.exe again and open up: HKEY_LOCAL_MACHINE\ SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
  15788. *You'll find a list of SIDs (those that end in 500 are administrative, so you can ignore them), and as you click on each one you'll see that it has a value of 'ProfileImagePath' holding the folder to which it points. You'll find that two have 
  15789. these 'ProfileImagePath' values:
  15790. *%SystemDrive%\Documents and Settings\fred
  15791. *%SystemDrive%\Documents and Settings\fred.fredscompany<p>
  15792. *Simply select the latter, remove the '.fredscompany' part and the 'new' account will now point to the old profile. Close the Registry Editor, restart and log in. The old Desktop appears and, if all's gone well, the applications work and all shortcuts and settings are still in place. Now repeat for each user (ouch!).
  15793. *I'd like to finish by thanking Microsof
  15794. t PSS, in the guise of Kam Patel from the Windows team in Premier Support, for their invaluable help in turning this tricky situation around. And the ultimate lesson? Install a second domain controller now - having one would have saved all these headaches.
  15795. **New data types
  15796. *An interesting issue has arisen with the arrival of OneNote, Microsoft's new note-taking application for Tablet PCs (and others). OneNote's voice recordings consume around 8 to 10MB of disk space per hour so, if it cat
  15797. ches on, voice will become a primary data type alongside word processing and spreadsheet data. It's therefore worth considering the issues voice recording raises, as they affect networks and servers. 
  15798. *At first glance, 8MB/hour looks neither here nor there, given that gigabytes of disk appear to be given away free with a burger and fries these days. Nor will the network traffic loads imposed by moving the files around be much trouble. In a traditional 'passive' view of business computing, 
  15799. these voice files will have no impact at all.
  15800. *However, I think this is to miss a golden opportunity. You see, for some time, I've been getting increasingly frustrated by the gap between the potential performance a server offers and the amount of real work it does. Ignoring specific application servers that are run near flat-out doing database or ERP work, let's consider that vast mass of line-of-business file/print servers that spend most of their time doing nothing.
  15801. *I recently set a cha
  15802. llenge to one corporate client: as part of their software evaluation process, they should evaluate exactly how much processing is being done by their expensive server-side applications. It's just not reasonable, I contend, to have a large application server sitting around doing nothing all the time, but rather a grotesque waste of opportunity by the software vendors who should actually be judged by how much horsepower they can consume. (Obviously, this has to be real work - no-one will by 
  15803. fooled by an application that runs the equivalent of the system idle thread). I've set them the target of having their processor loadings increase by 10 per cent per annum cumulatively - an extremely hard task and one that I know won't be met. 
  15804. *The important point is that it's making the company rethink its historical perspective, in which small, fast and lightweight was considered good. In today's climate, I want number crunching, I want steam coming out of the fans, and I want to see tr
  15805. ue return on investment from my servers.
  15806. *Now, let's go full circle back to OneNote. If voice is going to become much more important in the business context - both from OneNote and from, say, Voiceover IP - I demand that my servers take on the computationally overwhelming task of attempting to do voice-to-text recognition. Just converting a conversation into a text stream would be a good start, and once that has been cracked reasonably well I want big neural network calculation engines to 
  15807. try to identify different speakers and thus discover the structure of the conversation.
  15808. *At the very least, I want to have a textual representation of my voice data available through an iFilter interface so that it can be indexed and, ideally, I'd want to ask the important business question, 'who said what about this, and when?'
  15809. *Voice recognition is an extremely difficult problem for a computer. We rely on a huge amount of contextual information: sight, to see who's talking, and stereo fr
  15810. om our binaural ear arrangement to differentiate sounds by direction. 
  15811. *I'm not asking that all of this be built into my Compaq Tablet PC as a free upgrade. I accept that the built-in microphone isn't up to the task and that capturing the direction and position of people speaking will be a huge help. Future meeting room desks ought to have something like Calrec's SoundField microphone (<A HREF="http://www.soundfield.co.uk" target="_BLANK">www.soundfield.co.uk</A>) built into their centre, 
  15812. so that the full, three-dimensional sound space can be recorded as four channels of digital audio. One of the world's greatest microphones for serious professional recording, the SoundField, is a gloriously over-the-top solution to this problem, but four channels wouldn't increase the data rate to a worrying level, nor would increasing the sampling and bit-rates to something approaching CD quality. 
  15813. *The same logic applies to video too - why not video tape meetings and stream them onto a s
  15814. erver? We're entering an era of unlimited disk storage and spare computing cycles, so we have a whole new set of possibilities for making use of that capability. 
  15815. **RMS
  15816. *Microsoft is introducing a new set of encryption technologies in Windows 2003 Server, due in mid-summer. Called RMS, for Rights Management Services, it allows you to encrypt documents and emails on your network and to have full control over who can read them and what they can do with them. For example, it's possible to wr
  15817. ite a document in Word and then save it to disk, and as part of the saving process you can define who has rights to read the document and what they can do with it. So you might state that specific people are able to read the document but not print it, for example, in a manner similar to the basic system used in Adobe's PDF files. 
  15818. *But RMS goes much further, as you can use it to time-out content that needs to have a specific ageing date, so the document ceases to be viewable after a certai
  15819. n date. Obviously, the document's owner is still able to open the document at any time and change the permissions as appropriate. Better still, this policy for ageing files can be controlled by central services, so it's possible to change the default ageing profile for a company from, say, six to four months without having to touch every document, simply by changing the profile on the main servers. 
  15820. *RMS is a complex system, because it has an impact on email users too. You can send an emai
  15821. l to some users and specify that they can't forward it to anyone else for example, thus eliminating the possibility of email being 'accidentally' routed outside the company. 
  15822. *In its first implementation, which has yet to be fully documented by Microsoft, (though I'm promised a whole swathe of white papers will be available by the time you read this), RMS shows some signs of being a first-release technology. Its interface into Outlook has some clumsy areas, for example, but it does appear 
  15823. at a first glance to be secure and a grown-up solution to the problem. I'll be reporting back once we get final code both of the server-side components and of Office 11, together with the final version of a document-renderer plug-in that loads into Internet Explorer. 
  15824. *There are many uses for this sort of technology. Preventing documents from leaking is a tricky, almost intractable problem to solve, and given the rise in popularity of email and Web access - together with laptops going in a
  15825. nd out of companies all the time - it's easier than ever for information to leak both intentionally and by mistake. 
  15826. *I can't help wondering whether Microsoft has created this solution in response to its own notorious leakiness. It will be interesting to watch its own take-up and implementation of this technology over the next year. For organisations that don't have a real and present danger from leakage, I'd probably recommend that you take a waiting position until the dust has settled. I
  15827. mplementing a company-wide document-encryption scheme isn't something to be rushed into, especially as a response to an embarrassing leak. 
  15828. *And there are many question marks hanging over this first release from Microsoft, like how easy is it to do document recovery? Who holds master keys, and are they government agencies like the CIA or FBI? Or the equivalents in our own countries? Just how easy to use will it be, and can we make document encryption the default rather than the exception ba-y ensuring that it's extremely simple to use?
  15829. HdDavid Moss attempts to keep his users happy, while Jon Honeyball notes Microsoft's solution to leaksL    June 2003X
  15830. 104 (June 2003)i
  15831. Back Office
  15832. we'reE
  15833. +O+O+O+O+O+O+O+O+O+O+O+O
  15834. O+O+O+O+O+O+O+O+
  15835. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  15836. O+O+O+O+O+O+O+O+O
  15837. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  15838. O+O+O+O+O+O+O+O+O
  15839. O+O+O+O+O+O+O+O+O+O+O
  15840. +O+O+O+O
  15841. O+O+O+O+O+O+O+O+O
  15842. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  15843. O+O+O+O+O+O+O+O+O
  15844. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  15845. O+O+O+O+O+O+O+O+O
  15846. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  15847. O+O+O+O+$
  15848. ,N,O+OO+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  15849. +O+OO+O+O+O+O+O+O+O+O+O
  15850. %U%U%U%U%U%U%U{
  15851. O+O+O+O+O+O+O
  15852. %UI1I1I1I1I1I1I
  15853. +O+O+OO+O+
  15854. O+O+O+O+O+O+O+O
  15855. I+O+O+O+O+O
  15856. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  15857. I+O+O+O+O+O
  15858. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  15859. I+O+O+O+O+O
  15860. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  15861. I+O+O+O+O+O
  15862. +O+O+O+O+O+O+O
  15863. O+O+O+O+O+O+O+O+O+O
  15864. I+O+O+O+O+O
  15865. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  15866. I+O+O+O+O+O
  15867. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  15868. +O+O+O+O+O
  15869. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O
  15870. P+O+O+O+O+O+O+O+O
  15871. +O+O+O+O+O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+P*P+O+O+O+O+z
  15872. +O+O+OO+
  15873. O+O+O+O+O+O+O
  15874. %UI1I1I
  15875. gatheredB
  15876. gatherer
  15877. gatherers
  15878. gathering
  15879. gathers
  15880. gaugeZ
  15881. gaugesn
  15882. gauging
  15883. gaussiann
  15884. gaveD
  15885. gavin
  15886. gboosendautomaticall
  15887. registeredG
  15888. gistry-shy
  15889. regread
  15890. regretT
  15891. regrets
  15892. regrettablyO
  15893. regrettedT
  15894. regrouping
  15895. regsvr32
  15896. regularC
  15897. regular
  15898. readers
  15899. column
  15900. aware
  15901. we've
  15902. regular
  15903. readers
  15904. column
  15905. long-standing
  15906. regularity
  15907. regularlyE
  15908. regulatet
  15909. +O+O+O+O+O+O+O+O+O+O
  15910. +O+O+OO+O+O+O+O+O+O+O+O+O
  15911. O+O+O+O+O+O+O+O+O+O+O
  15912. +O+O+OO+O+O+O+O+O+O+O+O+O
  15913. O+O+O+O
  15914. +O+O+O+O+O+O+O
  15915. +O+O+O${
  15916. +O+O+O+O+O+O+O+O+O+O+O+O
  15917. O+O+O+$
  15918. O+O+O+O
  15919. O+O+O+O+O+O+O+O+O+O+O+O+O
  15920. +OO+O+O+O+O+O+O+O+O+O
  15921. O+O+O+O+O+O
  15922. +O+O+OO+
  15923. O+O+O+O
  15924. O+O+O+O+O+O+O+O+O
  15925. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  15926. O+O+O+O+O+O+O+O+O
  15927. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  15928. O+O+O+
  15929. O+O+O+O+O+
  15930. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  15931. O+O+O+O+O+O+O+O+O
  15932. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  15933. O+O+O+O+O+O+O+O+O
  15934. O+O+O+O+O+O+O+O+O+O+O
  15935. +O+O+O+O
  15936. O+O+O+O+O+O+
  15937. OO+O+O+O+O+O
  15938. +O+O+O
  15939. I+O+O+O+O
  15940. O+O+O+O+O+O+O+O
  15941. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  15942. O+O+O+O+O+O+O+O+O
  15943. +O+O+O+O
  15944. O+O+O+O
  15945. O+O+O+O+O+O+O+O+O
  15946. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  15947. O+O+O+O+O+O+O+O+O
  15948. O+O+O
  15949. pda's
  15950. pda-dom
  15951. pda-like
  15952. pda-sized
  15953. pda-to-pc
  15954. pda/mobile
  15955. pdadash
  15956. pdapage
  15957. pdasD
  15958. standard
  15959. personal
  15960. management
  15961. appli
  15962. convergence
  15963. computing
  15964. pdf/xH
  15965. pdf/x-1
  15966. pdf/x-1a
  15967. pdf/x-2
  15968. pdf/x1aH
  15969. pdf/x3H
  15970. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  15971. O+O+O+O+O+O+O+O+O
  15972. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  15973. O+O+O+O+O+O+O+O+O
  15974. O+O+O+O+O+O+O+O
  15975. +O+O+O+O+O+O+O
  15976. O+O+O+$
  15977. O+O+O+O
  15978. O+O+O+O+O+O+O+O+O+O+O+O+O
  15979. +OO+O+O+O+O+O+O+O+O+O
  15980. O+O+O+O+O+O+O+O+O+O+O+O+O
  15981. +OO+O+O+O+O+O+O+*O+O+O
  15982. +O+O+O+O+OO+O+O+O+O+O+O+O+O+P*P
  15983. +O+O+OO+
  15984. O+O+O+O+O+O+O
  15985. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  15986. O+O+O+O+O+O+O+O+O+O
  15987. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  15988. O+O+O+O+O+O+O+O+O+O
  15989. +O+O+O+OO+
  15990. O+O+O+O+O+O+O+O+O
  15991. O+O+O+O+O+O+O+O+O+O
  15992. +O+O+O+OO+
  15993. O+O+O+O+O+O+O+O+O
  15994. O+O+O+O+O+O+O+O+O+O
  15995. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  15996. O+O+O
  15997. +O+O+O+O+O+O+O
  15998. +O+O+O$
  15999. O+O+O+O
  16000. O+O+O+O+O+O+O+O+O+O+O+O+O
  16001. +OO+O+O+O+O+O+O+O+O+O
  16002. O+O+O+O+O+O+O+O+O+O+O+O+O
  16003. +OO+O+O+O+O+O+O+
  16004. O+O+O
  16005. +O+O+O+O+OO+O+O+O+O+O+O+O+O+P*P
  16006. O+O+O+O+O+O+O
  16007. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  16008. O+O+O+O+O+O+O+O+O+O
  16009. +O+O+O+OO
  16010. +O+O+OO+
  16011. O+O+O+O+O+O+O
  16012. +O+O+OO+O+O+O+O+O+O+O+O+O
  16013. O+O+O+O+O+O+O+O+O+O+O
  16014. +O+O+OO+O+O+O+O+O+O+O+O+O
  16015. O+O+O+O+O+O+O+O+O+O+O
  16016. +O+O+OO+O+
  16017. O+O+O+O+O+O+O+O
  16018. thoughtA
  16019. embarrassingV
  16020. embarrassingly
  16021. embarrassmentr
  16022. embedG
  16023. embeddable
  16024. embeddedM
  16025. embedding
  16026. Kevin PartnerD
  16027. Tooling up
  16028. Opportunities for talented developers entering the multimedia industry have never been better. However, whether you're creating an online portfolio for yourself, a CD business card, a business presentation or a complete e-learning package, the choice of authoring tools can be bewildering.
  16029. *This month, I'll look at the range of  authoring tools, image and sound editors available, and arrange them into price bands to suit all pockets and purposes. Bear in mind that the prices I quote are, in
  16030.  just as some can't read documentation from a VDU. It's a skill that can be learned, though, and we're all going to have to do it; I crossed this Rubicon more than ten years ago.
  16031. *Books, especially fiction, are different, though. We perceive them very differently from textbooks or manuals. I love buying good books in hardback, on high-quality paper with well-chosen typefaces (even letter press). So getting used to eBooks isn't easy, as displays are still blocky and grainy with poor fonts a
  16032. nd formatting. It's possible to adapt, though, and I have. It's rewarding to download an old favourite, or perhaps get hold of a publisher's galley proof of a new title and read it while travelling. It won't match the feel and smell of a good book, but then neither do cheap paperback editions. 
  16033. *EBooks are a touchy subject, because some high-profile ventures by traditional publishers have failed miserably, although several small publishers have had enough success to survive and thrive. The
  16034. y've found a market of dedicated eBook readers, people who've learned how to cope with reading within the restrictions of the PDA format. 
  16035. *One group of such keen readers are Bible scholars, who have to have online searchable copies of the Good Book, perhaps in various versions. These people have pioneered the format. Baen Books has also made a success of its Webscriptions venture (<A HREF="http://www.webscription.net" target="_BLANK">www.webscription.net</A>). It's a well-known name among
  16036.  sci-fi readers, a dedicated group that routinely read several books in succession, often while travelling, and have above-average technical skills.
  16037. *Possibly the most successful eBook publisher so far used to be called Peanut Press, which had its own reader software with support for both markup and encryption. This was bought by Palm, and now Palm Digital Media produces reader software and eBook- creation software for Pocket PC, Symbian and Palm OS operating systems. Its Palm Reader is bu
  16038. ndled free with most Palm OS devices, and a commercial upgrade, Palm Reader Pro, is available cheaply from <A HREF="http://www.palmdigitalmedia.com" target="_BLANK">www.palmdigitalmedia.com</A>. Another good source of eBooks in Palm formats is <A HREF="http://www.memoware.com" target="_BLANK">www.memoware.com</A>, the outcome of several free eBook libraries combined.
  16039. *On a Palm OS device, everything is stored in what's effectively a database file, structured for retrieval in a slightly mor
  16040. e sophisticated way than the flat files we're used to on previous-generation computers. This additional layer of complexity means that when it comes to storing flat text files on a Palm, it isn't obvious how best to do it. 
  16041. *Back in the early days of Palm, Rick Bram came up with the idea for the Doc format, which stores any sort of data as a chain of 4KB-sized records, including a title for the document. He also produced a free program called PalmDoc to read this format, and a string of re
  16042. ader/writers for PCs and Macs called MakeDoc. Doc was sold to Aportis, which produced a commercial reader, AportisDoc. This unfortunately closed down at the end of 2002, but not before Doc had established itself as the main document format for both Palm and Pocket PC. The fact that the format is portable across platforms, unlike Microsoft's equivalent, makes it attractive to publishers who want to keep a foot in every camp.
  16043. *The Doc format has quite a few limitations for eBook publishing. 
  16044. It needs more effective compression, plus a standard for marking up and formatting texts. EBook publishers also want some form of digital rights control, which is absent. 
  16045. *Several of the dozens of available readers solve some of these problems by supporting HTML as their markup language, despite the severe fragmentation of the HTML standard and its relative verbosity. So HTML-Doc is now a common format and is supported by some eBook publishers, notably Baen Webscriptions. 
  16046. *In practice, t
  16047. his means a tripartite split among Doc format readers: one set is good for public domain texts with minimal markup; another handles unencrypted documents with HTML markup (say MobiReader from www.mobipocket.com); and the final set contains one member, Palm Reader, for documents with both markup and digital security. These sets hardly intersect, although both Palm Reader and MobiReader can read plain Doc files too. Palm Reader can also cope with HTML-Doc files in a limited way - you get to 
  16048. see all the HTML codes, which makes heavy weather of a little light reading. This obviously isn't acceptable for comfortable reading, and Palm Reader is the only reader that can read its own proprietary format. 
  16049. *MobiReader is an odd choice for me to single out, as it has a huge memory footprint (around 400KB compared with Palm Reader's 140KB) and an awkward user interface. There are better readers for HTML-Doc than MobiReader, but it exists for Pocket PC as well as Palm OS, and, more impo
  16050. rtantly, is the reader recommended by Baen Webscriptions. MobiReader has its own encryption format, but this only applies to books purchased from MobiPocket, not to freeware or Baen books. It's interesting to note that Baen provides its books in a form that can be downloaded many times by the account holder, in multiple formats with no encryption, whereas both MobiPocket and Palm Reader use encryption to restrict access to books in their formats.
  16051. *For Pocket PC and Windows machines only, M
  16052. icrosoft supplies its own proprietary format, known by its extension as LIT, which isn't available on Palm OS or any other platform. I've looked at creating LIT eBooks in a previous column, so this time it's the turn of the Palm platform.
  16053. *Cooking the eBooks
  16054. *Creating an eBook in HTML-Doc format is easy - just download the MobiPocket Publisher from <A HREF="http://www.mobipocket.com" target="_BLANK">www.mobipocket.com</A> and follow the tutorial. In essence, you create a metafile that hold
  16055. s all the information for creating the book by combining a number of HTML files. 
  16056. *ASCII and Word/RTF documents can be converted into the required format by Wizards. An eBook also needs an author, a title, a cover page and a table of contents, and MobiPocket Publisher includes a Wizard to help you create each of these if your HTML is already nicely formatted. It gets a lot harder if you don't have well-formatted HTML. The cover page is a single image, and the table of contents can be autom
  16057. atically generated or built by hand. These are both nice to have, and give a professional look to the eBook you create.
  16058. *This is a similar process to the Microsoft Reader publication process and is clearly intended for publishers, large and small, for creating eBooks with an option (if you pay money for it) to include encryption and password protection.
  16059. *At the other extreme is the (free) personal publisher used by Palm Digital Media called DropBook. You have to create a marked-up text fil
  16060. e, but then the process of publication is simply to drop it on the application. It will ask for name details, then a place to save it to, and that's all. It's a bit more laborious to add the markup, although there are macros available to help with Word documents. This is a trade-off when compared with the MobiPocket approach. 
  16061. *With MobiPocket, the process is polished, but it can take a lot of effort adjusting the HTML and table of contents to get it all to match and make the jigsaw pieces
  16062.  fit together (something I first discovered when making LIT ebooks for Pocket PC). With DropBook, you have to do all the markup and document structuring yourself, but the publication process becomes trivial. For me, the effort exactly balances out: sometimes I don't want or need a cover page and table of contents, and don't need the extra hassle required to get all the HTML to line up right, and sometimes the Wizards give an almost perfect result first time. Palm Digital Media also has a f
  16063. ull-featured publication package aimed, of course, at publishers with a desire for security called Palm eBook Studio.
  16064. **International Access
  16065. *A reader, David Raggett, wrote in to say that he uses the AT&T international ISP service, <A HREF="http://www.attglobal.net" target="_BLANK">www.attglobal.net</A>, with general satisfaction and good bandwidth in most locations, although he finds coverage to be scarce in the Middle East. 
  16066. *I've also had a number of comments about the GRIC service thaS
  16067. t I mentioned recently. it seems that it changes its connection points in some countries rather frequently, so it pays to update the list of numbers often, as in some areas they've been known to change from week to week.
  16068. H?Paul Lynch helps your transition from books to electronic paperL    June 2003X
  16069. 104 (June 2003)i
  16070. Mobile Computing
  16071. answerA
  16072. transitionW
  16073. transparency
  16074. transparency/translu
  16075. traps
  16076. travel
  16077. travelled
  16078. travelling
  16079. trawl
  16080. treading
  16081. treasure
  16082. treatment
  16083. treats
  16084. trendy
  16085. trials
  16086. tribulations
  16087. trickles
  16088. tricks
  16089. tricky
  16090. triesB
  16091. trigger-happy_
  16092. trigger-happy
  16093. honeyball
  16094. polishes
  16095. pistol
  16096. while
  16097. david
  16098. trilogy
  16099. tripled
  16100. trips
  16101. trouble
  16102. troubled
  16103. troubleshoot
  16104. troublesome
  16105. trucks
  16106. truly
  16107. trustworthy_
  16108. truths
  16109. trying
  16110. tulip
  16111. tunnel
  16112. turnsC
  16113. tutorial
  16114. twang
  16115. twist
  16116. parter
  16117. typographic
  16118. Steve CassidyD
  16119. Sighs of relief
  16120. Feedback is a funny thing. If you're a technologist, feedback happens in amplifiers and other types of circuit - it's rapid and has to be held in check. For network consultants and journalists, however, feedback takes ages to arrive and resolve into a coherent picture.
  16121. *I frequently get feedback from intensely techie types who want to read a column full of algorithms for relating maximum PCI bus throughput to the speed of your LAN, or who feel that networking is all about fine-tuning the m
  16122.  most cases, for downloadable versions expressed in US dollars and are therefore subject to change over time. Where appropriate, VAT is included. If you have a specific area of multimedia, or a particular project, in mind, you can narrow down your choices and find the least costly combination. 
  16123. *Let's start with the most basic form of multimedia, the CD business card, portfolio or media player. For this job, it's possible to buy a software suite capable of professional results for less tha
  16124. 100. The best authoring tool in the sub-
  16125. 50 band is Multimedia Builder (<A HREF="http://www.mediachance.com" target="_BLANK">www.mediachance.com</A>), which you can download and try out for free. Registration costs around 
  16126. 30, for which you get a tool with advanced features including custom-shaped windows and even a rudimentary scripting language. Multimedia Builder has been developed pretty much single-handedly by Roman Voska, and its range of features shows where his interests lie. 
  16127.     U    SJ
  16128.     U    SJ
  16129.     U    SJ
  16130.     U    SJ
  16131.     U    SJ
  16132. Where tools like Opus, Mediator and Director offer a wide range of capabilities, Multimedia Builder concentrates on specific areas of interest to its creator. For example, it's very good for projects such as autorun menus for CD-ROMs, audio CD/MP3 menus, portfolios and business cards, but useless if you're thinking of deploying on the Internet or for creating multimedia presentations. While it includes a scripting language that makes it the perfect launcher for other programs, it doesn't h
  16133. ave any sort of timeline, which makes it difficult to co-ordinate graphics and text with a voiceover or music track. On the other hand, it has an excellent special effects generator for creating visualisations similar to those in Media Player, and it's also able to host other applications; for example, you could create a Word or Internet Explorer window in your presentation.
  16134. *Multimedia Builder is ideal for creating simple multimedia projects of a few pages,  particularly ones that don't i
  16135. nclude synchronised sound and visuals, or ones that launch or host external applications. 
  16136. *This shoestring package needs a sound editor, and GoldWave (<A HREF="http://www.goldwave.com" target="_BLANK">www.goldwave.com</A>) offers the best value for money in this price range. Available online for $40 (
  16137. 25), GoldWave includes the standard waveform editing view and the crucial ability to read and write MP3 files, as well as WAV and a range of less useful formats. It even includes an equalize
  16138. r and noise-reduction filters. 
  16139. *Finally, you'll need a low-cost, highly featured, image editor. Coincidentally, MediaChance (vendor of Multimedia Builder) also distributes Real-DRAW, which - with its 
  16140. 35 registration fee - competes head on with Macromedia's Fireworks, offering vector and bitmap editing in one package. Believe it or not, this package was also created by Roman Voska. 
  16141. *Real-DRAW makes it simple to create all the elements of an application interface. In fact, it could teach 
  16142. Macromedia a few lessons about how to efficiently apply effects such as variable transparency, bevelling and drop shadows. I particularly like its option to output an alpha channel to a separate file. Also, despite boasting a huge range of features, Real-DRAW won't slow your PC to a crawl and zips along on even the most modest of CPUs. As with Multimedia Builder, Real-DRAW's feature range tends to be patchy, but at its low price it deserves a place in any developer's toolkit.
  16143. 200+ 
  16144.  for less than 
  16145. 100, you can kit yourself out with a usable, if basic, authoring package, sound editor and excellent image editor. But what if your ambitions extend beyond e-cards and program launchers? If you're at all serious about general multimedia development, you're going to need to invest in a truly professional authoring tool. 
  16146. *Opus Presenter (<A HREF="http://www.digitalworkshop.co.uk" target="_BLANK">www.digitalworkshop.co.uk</A>) is the lowest-priced general-purpose tool, coming
  16147.  in at a shade under 
  16148. 100. Regular readers of this column will know how highly I rate Opus, and Presenter is a replacement for the entry-level Opus Standard. It lacks a scripting language, but is suitable for most purposes, including creating business presentations and undemanding e-learning applications. You can use it to create materials to be delivered online through its proprietary plug-in, or for an extra 
  16149. 50 the Opus Flex enhancement allows you to output in Flash SWF format. (However
  16150. , if you want to create Flash movies, buy Flash - there's no substitute.)
  16151. *My favourite low-cost audio editor has always been Sound Forge XP, which has now been renamed Sound Forge Studio (<A HREF="http://www.sonicfoundry.com" target="_BLANK">www.sonicfoundry.com</A>). At around 
  16152. 44, this is a cut-down version of the heavyweight Sound Forge, but it lacks nothing that a mere multimedia developer would miss. I've been using Sound Forge XP/Studio ever since a copy came bundled with my early v
  16153. ersion of Director and it's now part of the standard kit for all my developers at NlightN. 
  16154. *Sound Forge Studio is rock solid, easy to use and reads/writes sound formats including MP3 and WAV. It has a huge range of effects and processes, including the very useful Noise Gate, which eliminates samples below a certain volume level, removing hiss between words in a voiceover, for example.
  16155. *Opus distributor Digital Workshop also supplies Paint Shop Pro, soon to move to version 8. Originally a 
  16156. shareware image converter, Paint Shop Pro is now a genuine budget alternative to Photoshop. Version 8 adds a background eraser, which sounds like an enhanced form of the colour replacer tool, plus image-warping tools and an array of new filters and effects including the genuinely useful tiling tool. 
  16157. *Paint Shop Pro 8 is likely to retail at around 
  16158. 80 (including VAT), which, given its functionality, represents excellent value. The combination of Opus Presenter/ Standard, Sound Forge Studio
  16159.  and Paint Shop Pro is probably the minimum acceptable software suite for professional multimedia developers, and for around 
  16160. 230 gives you a complete production environment capable of tackling most multimedia tasks.
  16161. *Opus Presenter is ideal for creating top-quality presentations, simple games and relatively undemanding e-learning apps, but its lack of a scripting language or extendibility means you can't bend it to your will as you can, for example, Macromedia's Director. The most pocket-
  16162. friendly authoring tool with script support is, in fact, Presenter's big brother Opus Pro, which weighs in at 
  16163. 249. 
  16164. *However, Opus Pro's scripting language, OpusScript, doesn't yet have the ease of use or range of functions needed to make it a true all-rounder. It follows the ECMA guidelines a little too closely, to the extent that it chucks out extremely unhelpful error messages if you forget to capitalise commands properly. Given that its user base is likely to include newcomers to prog
  16165. ramming (upgraders from Opus Presenter, for example), OpusScript needs to become easier to understand, more tolerant and more accurately documented before I can recommend it.
  16166. 1,000+
  16167. *The next big step up is to a general-purpose authoring tool capable as the mainstay of a professional multimedia company on a budget. I like MatchWare's Mediator EXP 7, although I think its 
  16168. 649 (exc VAT) price tag is a little on the high side. 
  16169. *Mediator (<A HREF="http://www.matchware.net" target="_BLANK"
  16170. >www.matchware.net</A>) has a number of advantages over Opus Pro, including the fact that its script languages (you can choose either VBScript or JavaScript) are already widely used so you're likely either to know it already or will be able to learn it quickly. Mediator is also, crucially, able to host ActiveX controls, which opens up a huge range of possibilities, although this technology is beginning to show its age. I've just added a complex interaction with an online database to a Medi
  16171. ator EXP program using the Microsoft Internet Transfer Control very simply, although Mediator's inability to read the parameters of an ActiveX Event is a pain.
  16172. *My favourite all-round sound- recording suite is Cool Edit Pro (<A HREF="http://www.syntrillium.com" target="_BLANK">www.syntrillium.com</A>). Available online at just under 
  16173. 160, Cool Edit Pro provides everything you could possibly need in a multitrack recorder and audio editor except for the hardware. My RWC colleague Brian Heywo
  16174. od is better qualified than I am to talk about that side of things, but as an example, my own hardware setup is an M-Audio Delta 66 sound card bundled with an Omni I/O audio station. My microphone is an Audio Technica AT4033 condenser in a custom-built-sound booth, and I get excellent results from this setup, certainly good enough for the purposes of commercial voiceover work.
  16175. *For manipulating images - resizing, changing colour depth, cropping and so on - I use Paint Shop Pro as above, bu
  16176. t most of my image editing is done in the excellent Macromedia Fireworks. I've been using Fireworks since version 1 and it's now my favourite tool for constructing interface elements, screen designs and websites and it's available online for around 
  16177. 190. This brings the cost of my pro-level authoring package to around 
  16178. 1,000, not including hardware - a sizeable investment, but worthwhile because this combination of flexible, highly productive and easy-to-use authoring tools with profession
  16179. al sound and image editors allows you to meet the requirements for just about any sort of multimedia production.
  16180. *At NlightN I've created everything from database-driven, touchscreen kiosks to complex, multi-CD e-learning products using Mediator EXP. In the case of the kiosk application, we'd originally created it in Director, but the client wasn't happy with the quality of the transitions or the way Director can run sluggishly on even the fastest PC. I managed to recreate almost a month's
  16181.  Director work in Mediator in just eight days (mind you, they were eight long days).
  16182. **The Top end
  16183. *Having said that, Director still has a place in our top-end multimedia package. If your line of work involves cross-platform delivery, or if you want to be able to cope with even the most non-standard of projects, Director is your man, as it can realistically be considered a jack-of-all-trades. The key is its ability to host Xtras that extend its functionality, along with its powerful (thou
  16184. gh idiosyncratic) Lingo scripting language. 
  16185. *The natural companion to Director is Fireworks, but my experience is that most Director users prefer Adobe Photoshop. Topping the scales at a stiff 
  16186. 570, Photoshop has an array of features of benefit to multimedia developers but suffers from remaining print-oriented. It's also difficult to get to grips with. However, if your multimedia projects tend to be design-heavy or if you recognise the sense in learning to use the industry-standard image-
  16187. editing package, it might be worth investing in Photoshop.
  16188. *There isn't a better multitrack sound editor than Cool Edit Pro, so my top-end suite of industry-standard software is complete, weighing in at just under 
  16189. 1,500. And remember that the expense and effort of learning Director and Photoshop does at least give you a highly saleable skill should you be looking to work for someone else. 
  16190. *Of course, if your interests are purely focused on web development, your choice is simple: get Macr
  16191. omedia Studio MX - Flash, Fireworks, Dreamweaver and vector-editing package FreeHand all in one package for around 
  16192. 570. If you're working on a shoestring, you could buy Flash on its own for around 
  16193. 315 online and make do with low-cost or free image and sound editors. 
  16194. *If you're a full-time student or teacher, you can benefit from big educational discounts on all Macromedia products, although you should be aware that the educational version of Director displays a 'not for commercial use' 
  16195. splash screen on projectors, which is fair enough.
  16196. *Using ActiveX in Mediator
  16197. *I've spent a good deal of time over the last month or so creating a multimedia 'shell' for my designers to work on, which takes the form of a Mediator program containing a series of standard objects, template pages and blank pages along with scripts that handle user login, tracking and questioning. One of the reasons Mediator was chosen as the development tool for this major project was its ability to host Activ
  16198. eX controls, plus the scripting power needed to get the most out of them. Director also has this ability, something I put to good use when I hosted an Internet Explorer window in my latest Director project and used Lingo to control what was displayed when it refreshed. I was even able to use IE's print engine from within Director to print HTML pages.
  16199. *It obviously makes sense to use ActiveX controls that are likely to be already present on your target PCs, including, for example, all the M
  16200. icrosoft Forms controls and standard interface components. These ActiveX components allow you to add list boxes, combo boxes and, in my case, a slider control, to your Mediator or Director presentations among many others.
  16201. *Here's how to do it in Mediator EXP. Begin by clicking the ActiveX button on the toolbox and Mediator will present a box containing a list of the ActiveXs you've used previously - to add a new ActiveX, click Customize. Find and select Microsoft Slider Control, click OK, 
  16202. then select it from the list and drag and drop it onto your Mediator page. By default, the slider control has values from 0 to 10, but these can be changed in its Properties box. Begin by changing the name of the ActiveX to 'Slider'. 
  16203. *Obviously, the point of a slider control is to find out what value the user has selected, and this is simple. Add a standard Mediator Input Text object to the page that you'll use to keep track of the slider's value. Create a new object variable called 'mInp
  16204. ut'. I use a convention under which all Mediator-derived variables are prefixed with an 'm' to differentiate them from variables created in script. Now, add a new Script to the page and create a Sub like this:
  16205. *Sub SliderEvent()
  16206. *mInput=Md8Objects.item("Input")
  16207. *mInput.text=cstr(slider.ActiveX.Value)
  16208. *End Sub
  16209. *The first line after the Sub statement links the object variable mInput to the Mediator Text Input object. The second line changes the text that appears in the input box to the strin
  16210. g equivalent of the slider's current value. To tie it all together, right-click the ActiveX control, select Events and choose the ActiveX event. Then add a Script action that runs SliderEvent. Job done! Now, when the application is running, this script action is called every time the user clicks on the slider and the input box is updated with the current value. Simple but powerful.
  16211. *Mediator EXP 7 comes with the HTTP Request resource, which claims to allow contact with online databases. Pe
  16212. rsonally, I've found problems with it, in that you can't specify what header to send up, meaning that you can't connect to some databases. I resorted to the Microsoft Internet Transfer Control, which is able to connect using a single command like this:
  16213. *[objectname].activex.execute "http://xx.xxx.xxx.xx/x.asp", "POST", CONTENT, HEADER
  16214. *The Internet Transfer Control has a property called State that changes from 0 to 1 when it has completed the transfer. So, by setting up a timeline to keep 
  16215. checking that property, you can easily see if it has completed. Of course, you may or may not have actually retrieved any data, so you need to create error-trapping code in case the database hasn't responded or the data you've sent isn't valid. You'll also need to ensure Mediator is given permission to access the Internet by any firewall software installed on the end user's PC. Unfortunately, Mediator doesn't trap the parameters sent back by ActiveX events so it isn't possible to keep trac
  16216. k of where in the process of connecting with the database any problem occurred. 
  16217. *You'll need to know what properties, methods and events each ActiveX supports and, although some properties are automatically displayed in Mediator, many others remain hidden. With Microsoft ActiveX controls, the best place to look is on Microsoft's website. All the information you're likely to need is in the VB 6 documentation at <A HREF="http://msdn.microsoft.com/default.asp" target="_BLANK">http://msdn.micc
  16218. rosoft.com/default.asp</A>.
  16219. HGKevin Partner guides you through a range of authoring tools and editorsL    June 2003X
  16220. 104 (June 2003)i
  16221. MULTIMEDIA:VIDEO
  16222. kevin
  16223. partnerE
  16224. kevin
  16225. partner
  16226. brian
  16227. heywood
  16228. lynchD
  16229. markI
  16230. newton
  16231. ockendenS
  16232. newton
  16233. ockendeno
  16234. mossC
  16235. newtonI
  16236. ockendenI
  16237. partnerE
  16238. paulD
  16239. basicallyw
  16240. basically
  16241. dataw
  16242. bundlesB
  16243. bundles
  16244. confusionB
  16245. changeA
  16246. cheerfulv
  16247. computingl
  16248. confusionB
  16249. crossz
  16250. cross
  16251. great
  16252. dividez
  16253. rescuey
  16254. dataw
  16255. deepL
  16256. delphis
  16257. htaccessS
  16258. htaccess-style
  16259. O+O+O+O+O+O
  16260. O+O+O+O+O+O+O+O
  16261. O+O+O+O+O+O+O+O+O+O+O+O+O
  16262. +O+O+O
  16263. O+O+O+O+O+O+O+%
  16264. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  16265. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+P*P
  16266. OO+O+O+O+O+O+O
  16267. +O+O+O+O+O
  16268. +O+OO+O+O{
  16269. *P*P+O+O+O+O+O+O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  16270. +O+O+O
  16271. I+O+O+O+O
  16272. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  16273. +O+O+O
  16274. I+O+O+O+O
  16275. O+O+O+O+O
  16276. O+O+O+O+O+O+O+O
  16277. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  16278. O+O+O+O+O+O+O+O
  16279. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  16280. O+O+O+O+O+O+O+
  16281. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  16282. O+O+O+O+O+O
  16283. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  16284. O+O+O+O+O+O+O+O
  16285. O+O+O+O+O+O+O+O+O+O+O
  16286. +O+O+O+O+O
  16287. O+O+O+O+O+$
  16288. ,O+O+OO+O+O+O+O+O+O+O+O+O+O+O+O+O
  16289. +O+O+OO+O+O+O+O+O+O+O+O+O
  16290. O+O+O+O+O+O+O+O+O+O+O
  16291. +O+O+OO+O+O+O+O+O+O+
  16292. O+O+O
  16293. +O+O+O+O+OO+O+O+O+O+O+O+O+O+P*P
  16294. O+O+O+O+O+O+O
  16295. O+O+O+O+O+O+O+O+O
  16296. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  16297. O+O+O+O+O+O+O+O+O
  16298. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  16299. O+O+O+O+O+
  16300. O+O+O+O
  16301. +O+O+OO
  16302. O+O+O+O+O+O+O+O
  16303. OO+O+
  16304. OO+O+O+O
  16305. +O+O+Oz
  16306. +O+O+O+O+O+O
  16307. I1I1I1I1I1I1I1I1I
  16308. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  16309. I1I1I1I1I1I1I1I1I
  16310. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  16311. O+O+O
  16312. O+O+O+O+O+O+O+O+O
  16313. +O+O+O+$
  16314. O,N,O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  16315. O+O+O+O+O+O+O+O
  16316. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  16317. O+O+O+O+O+O+O+O
  16318. O+O+O+
  16319. +O+O+OO+O+O+O+O+O+O+O+O+O
  16320. O+O+O+O+O+O+O+O+O
  16321. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  16322. O+O+O+O+O+O+O+O+O
  16323. +O+O+O+O+OO+O+O+O+O
  16324. O+O+O
  16325. O+O+O+O+O+O+O+O
  16326. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  16327. O+O+O+O+O+O+O+O
  16328. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  16329. O+O+O+O+O+O+O+O
  16330. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  16331. O+O+O+O+O+O+O+O
  16332. O+O+O+O+O+O+O+O+O+O+
  16333. O+O+O+O+O+O+O
  16334. %UI1I1I1I1
  16335. OK+O+O
  16336. O+O+O+z
  16337. O+O+O+O+O+O+O+
  16338. +O+O+OO+O
  16339. +O+O+O+O+{
  16340. +O+O+OO+O+O+O+O+O+O+O+O+O
  16341. +O+O+O+O+O
  16342. I+O+O
  16343. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  16344. +O+O+O+O+O
  16345. I+O+O
  16346. +O+O+O+O+O+O+OO+O+O+O+O
  16347. O+O+O
  16348. O+O+O+O+O+O+O+O+O
  16349. O+O+O+z
  16350. O+O+O+O+O+O+O+
  16351. +O+O+
  16352. +O+O+
  16353. +OO+O
  16354. +O+O+O+O+{
  16355. +O+O+OO+O+O+O+O+O+O+O+O+O
  16356. %U%U%U%U%U%U%UI1I1I1I1I1I1I1J0J1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I
  16357. +O+O+O+O+O+O+OO+O+O+O+O
  16358. O+O+O+O
  16359. O+O+O+O+O+O+O+O
  16360. O+O+O+O+O+O+O+
  16361. +OO+O
  16362. +O+O+O+O+{
  16363. +O+O+OO+O+O+O+O+O+O+O+O+O
  16364. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O,N,O
  16365. OO+O+O+O+O+O+O+O
  16366. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O,N,O
  16367. OO+O+O
  16368. O+O+O+O+O+O+O+O
  16369. %U%UI1I1
  16370. conditionC
  16371. conditionalO
  16372. conditionally
  16373. conditioned
  16374. conditioning
  16375. conditionsI
  16376. condone
  16377. condoning
  16378. conducive
  16379. conduct
  16380. conductedb
  16381. figuredA
  16382. configuringI
  16383. O+O+O+O+
  16384. O+O+O+O+O+O+O
  16385. %UI1I1I1I1
  16386. +O+O+Oz
  16387. OO+O+O
  16388. O+O+O+O+O+O+O+
  16389. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  16390. O+O+O+O+O+O+O+O+O
  16391. +O+O+O+O+OO+O+O+O+O+O
  16392. +O+O+O+O+)O+OO+O+O+{
  16393. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  16394. O+O+O+O+O+O+O
  16395. +O+O+O+O+OO+
  16396. O7+O+O
  16397. O+O+O+z
  16398. O+O+O+O+O+O+O+
  16399. +O+O+
  16400. +O+O+O+O+
  16401. O+O+O+O+O{
  16402. +O+O+O+O+O+O+O+O+O+O+OO+O+O+O+O+O+O+O,N,O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+OO+O+O+O+O+O+O+O,N,O+O+O+O+O+O+O+O+O+O+O+O+O+
  16403. O+O+O
  16404. O+O+O+O+O+O+O+O+O
  16405. O+O+O+z
  16406. O+O+O+O+O+O+O+
  16407. +O+O+OO+O
  16408. +O+O+O+O+{
  16409. +O+O+OO+O+O+O+O+O+O+O+O+O
  16410. +O+O+O+O+O
  16411. I+O+O
  16412. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  16413. +O+O+O+O+O
  16414. I+O+O
  16415. +O+O+O+O+O+O+OO+O+O+O+O
  16416. Davey WinderD
  16417. Google goes gaga
  16418. By now, regular readers should realise that my preferred online search engine is, like the majority of Internet users, Google (<A HREF="http://www.google.co.uk" target="_BLANK">www.google.co.uk</A>). Those paying close attention will also know I mostly use Google UK, as I'm looking for UK-specific information and it saves me having to add +UK to every query. And if I want to go global, it's just a click away.
  16419. *Quite apart from its undoubted supremacy in spidering and indexing web content, 
  16420. ark/space ratio in packing algorithms for Gigabit Ethernet low-layer protocols. This kind of feedback typically takes up 20 pages of A4 and ends with a simple triumphal statement that starts '...so it clearly follows that anyone not up-to-date on IPv6 is simply not qualified to comment!'
  16421. *Then there's the other kind of feedback, where someone expresses their relief because the mists of obscurity have been lifted from some topic they've been puzzling over for years. I hope the hard-core tec
  16422. hies will forgive me if I say that this latter kind is infinitely more satisfying. 
  16423. *I often get a 'quiet sigh' of feedback during training courses. On those rare occasions when I produce courses, I set aside a good half-hour to explain drive letters: what they are; where they come from; who decides what they should be; and whatever happened to the B drive ? You'd be surprised at the seniority of the people who express deep and abiding relief when something so utterly simple (to us techies
  16424. ) is explained in the kind of detail that answers their fearful questions and shows them they're not mad for wondering what happened to the B drive. 
  16425. *I know it's frustrating to have to baby-talk people this way. You may think that you needn't detain yourself over something as tedious as a meaningless phobia over drive letters, but you must. I got a similar sigh of feedback when I went through the iterations of half-duplex, full-duplex, 10Mb, 100Mb, CAT-5, shielded, unshielded, twisted or 
  16426. untwisted network connections. People who consider themselves heavy-hitting software gurus emailed me saying: 'I was always sure there was something to that stuff, but I'd never bothered to think it through' and 'Crikey, our network runs smoother now.'
  16427. *I'm not just pointlessly congratulating myself here. I have in mind a particular pair of harrowing incidents that broke the smooth progress of my month into a stuttering mess of disconnected site visits, phone calls, project slippages and d
  16428. isastrous cock-ups, simply because people have been seduced by the marvellous over-complexity of networks and communications. They've forgotten how to fill in the gaps to make the whole show work, because, first, they haven't listened to feedback and, second, they haven't examined the simplest possible statements one could make about the problem.
  16429. *I'm talking about ADSL. To judge from the conversations I hear, those businesses that can are jumping on the ADSL bandwagon at a rate of knots, 
  16430. recession or no recession. In February, I had a pair of DSL connections go live and neither of them worked correctly. Both failed in the more advanced forms of use and abuse, and both were appallingly served by those 'systems' supposedly put in place for customers to ring up and complain.
  16431. *Scenario 1: a BT Ethernet-presented broadband router is installed. This is to be connected to a tiny three-PC network by way of an intermediary hardware router, with a basic firewall (because it will be 
  16432. a cold day in hell before BT adapts its procedures and standards to accommodate small networks). The router passes the usual tests for operability and says it has logged into either the BT test site or to the third-party ISP's RADIUS servers, but it won't let client PCs browse the Web. Sites can be pinged if you know their numeric IP address, but DNS queries don't get a reply.
  16433. *Enter that woeful disaster, call centre technical 'support'. The majority of people asking for technical support 
  16434. on DSL connections have something badly wrong with their local setup. They trash their computer or fail to stop it looking at DUN when they convert to routed DSL: that is, something goes wrong in the way everything else is put together, except the DSL line. So most call centres will run through a neat little script intended to establish that it isn't their problem.
  16435. *Except that, in this case, they couldn't establish anything of the sort. All the machines were running clean, one even being 
  16436. brand new. This at least shortened the diagnostic turnaround time, as once they'd confirmed that I could ping anything but do nothing else we agreed to wait for another BT engineer to turn up with a replacement box. I packed my bags and let everyone concerned know that they weren't to let the engineer go until they could see the PC Pro website (my standard test).
  16437. *Then the phone rang - it was technical support. 'Try it again,' quoth they, 'We think BT misconfigured the router as NAT when w
  16438. e wanted non-NAT.' And what do you know, ten seconds turned off, a minute to reload and all was well, except I had 20 minutes to get the whole setup reconfigured. 
  16439. *NAT versus non-NAT is a simple binary choice that hides many further choices with deep consequences, but it's presented as just two tickboxes to fill in at the start. Yet between a top-flight ISP and BT, a nationwide de facto monopoly, this simple choice had fallen between the cracks and their highly defensive support edifice r
  16440. equired more than one crack at the problem before spitting out the simple answer.
  16441. *If this were the only problem this month with DSL service provision and networking, I'd write it off as a fluke, but the second scenario was a complete hair-raiser. Nearly a decade ago, everyone was making a fuss about the great plan to deregulate the telecoms industry. The idea was to get away from the dead hand of Busby, BT's ill-starred mascot of the early 1980s, when everything to do with telecoms still 
  16442. had old Post Office stickers on it, was bolted down with huge waterproof fastenings and secured against largely imaginary lightning strikes. 
  16443. *Deregulation would lead, so we were told, to competition, and the last part of the deregulatory process would be unbundling the local loop. BT would finally relinquish control over that last bit of copper that runs to your front door, since nothing interesting happens on it and there are plenty of people (most of them ex-BT) who can look after it.
  16444. It has taken a long time for this unbundling to turn into anything deliverable for us networking types, but I've finally encountered a completely unbundled setup. However, it was such an unmitigated disaster that had it not been for that other nightmare encounter with BT this week, I'd now be flying Busby's outdated flag and loudly calling for re-nationalisation. 
  16445. *The problem is simple. Even now, BT controls the equipment it hands out carefully, and that caring has a good side and a bad s
  16446. ide. 
  16447. *It's good to know that any BT-provided business connection will feature basically the same re-badged Flowpoint hardware router; it's good to know that these always present themselves on 192.168.254.254; and it's good to know that you can't officially fiddle with their innards, which keeps lines of communication reasonably clear, so when they break down, the list of people to shout at is short and their obligations formalised by contract. 
  16448. *As for the downsides: these Flowpoint route
  16449. rs boil over at the slightest provocation, so the majority of engineer visits are to replace burned-out ones (it's always the PSU); it's difficult to trust what BT has done inside that opaque configuration; and the flim-flam it employs to deflect reasonable enquiries is terrible. But believe me, I've seen the other side of the deregulated coin in the last few weeks and it's certainly no better.
  16450. *In this case, the client had an integrated telecoms provider - a small company that does office
  16451.  cabling, basic networking and phone systems and was happy to deliver a DSL 'package' as well. I had reservations, but hoped an early test of competence would be to ask for a static IP address range along with the DSL contract and hardware it was pushing. The company accepted the order with this requirement and soon came back with the requested address range. Fair enough, I thought, test passed.
  16452. *In went its cabling team, and shortly after I set up the network. The only problem was that th
  16453. e DSL line wasn't quite ready, but we worked round the shortfall of this service using a few dial-up lines and waited in good faith. 
  16454. *Once the engineer had gone, we investigated using one of the promised static external IP addresses for the SonicWALL firewall appliance the client had chosen. What we found was surprising: a single PC detached from our new LAN, set up beside a tiny unbadged router, happily surfing the Web. 
  16455. *Our new network was on the 192.168 private range, while the router
  16456.  and detached PC had been set to 10.0.0.1 and 10.0.0.2. There was no sign of the public address range we'd been given. Earlier that week, some blokes had come along with a network card to set up a big photocopier in the office. They'd asked for a two-page questionnaire on the network to be faxed back to them, detailing the IP ranges, gateways, servers, client setup and any other comments, which was in stark contrast to the approach of our newly deregulated DSL service provider.
  16457. *So, we cal
  16458. led the engineer. We asked why he hadn't bothered to make the router use the external addresses and his reply was, 'Oh, that's easy. Just log in the web page on it and...'. I felt a shiver of premonitory fear. He hadn't done the job because he didn't know how, and he was now suckering me into leaving the router in an irrecoverable state by following his instructions. His mobile faded into a fortuitous reception hole and I despaired of any solution coming from that quarter. Except that, in 
  16459. the configuration of the router was a web page giving a username and password by which the router authenticates with the actual provider of the high-tech parts of this service, and it had a website, so perhaps this company could help.
  16460. *The provider was Bulldog at <A HREF="http://www.bulldogdsl.com" target="_BLANK">www.bulldogdsl.com</A>, and I'm happy to report that its staff were helpfulness personified. I didn't even have to wave the PC Pro stick at them, as every question was succinctly
  16461.  and sensibly answered. 
  16462. *They observed that the DSL router supplied by the contractor wasn't on their supported equipment list, but that judging from a quick Google search it might possibly work in the configuration we wanted. They were happy to talk me through it, but agreed that this was speculative at best and a far better solution lay in getting the supplier to deliver what had been agreed.
  16463. *I'd been looking over the router while on the phone, and in place of BT's sober 'link' light i
  16464. t sported an LED marked 'Showtime'. My faith in this cable-contractor-turned-DSL-vendor sank below zero. 
  16465. *To cut a long story short, we persuaded the contractors that we wanted a configuration they didn't understand and that they should listen to what Bulldog had to say about compatible equipment instead of buying their routers from a christmas-cracker vendor. Their response has been to withdraw all equipment from the client's site and invite us to achieve the setup without them.
  16466. *Deregul
  16467. ation may bring many benefits, but I'm sure those presiding over the demise of Busby didn't have in mind this kind of inexcusable sloppiness. 
  16468. *I hate to think how stuffed I'd have been without Bulldog's pragmatic response and, while I'm happy to identify Bulldog - and its exemplary attitude - in this sorry tale, I won't be identifying the cable and telecoms contractor explicitly. Let's just say that if you're offered a DSL contract by a company whose website is hosted on a free consumer IY
  16469. SP such as Freeserve or Virgin.net, consider that it may not have yet got the hang of servicing the business community's networking needs.
  16470. HPSteve Cassidy has a bad month with ADSL and briefly considers re-nationalisationL    June 2003X
  16471. 104 (June 2003)i
  16472. Networks
  16473. you'veA
  16474. runtimeA
  16475. rupert
  16476. rural
  16477. ruses
  16478. rushB
  16479. rushedV
  16480. rushingA
  16481. russell
  16482. russell's
  16483. russia
  16484. russian
  16485. russians
  16486. russinovich
  16487. rusting
  16488. ruthless
  16489. ruthlessly
  16490. rv-7v
  16491. rvatoaddress
  16492. rw-only
  16493. rwca47
  16494. off-the-recordT
  16495. off-the-shelfP
  16496. off-the-wall
  16497. off-white
  16498. off97detail
  16499. offence_
  16500. offences
  16501. offend
  16502. offended
  16503. offender
  16504. offender's
  16505. offenders
  16506. offendings
  16507. generously~
  16508. oh-so-stylishg
  16509. okayF
  16510. month
  16511. promised
  16512. month
  16513. on-screen
  16514. on-site
  16515. on-the-ball
  16516. on-the-road@
  16517. once-commercial
  16518. once-every-two-weeks@
  16519. ondisconnection@
  16520. feature
  16521. music
  16522. audio
  16523. software
  16524. packages
  16525. reasons
  16526. owning
  16527. beyond
  16528. now-bori@
  16529. bizarre
  16530. criticisms
  16531. levelled
  16532. open-source
  16533. one-in-ten@
  16534. one-month
  16535. one-year
  16536. oneclick@
  16537. ones@
  16538. onextracticon@
  16539. onion
  16540. only@
  16541. only-two-servers-per
  16542. onmessagecreated
  16543. onto@
  16544. ontrack
  16545. realise@
  16546. reasons@
  16547. recommend@
  16548. reduced@
  16549. registered@
  16550. remained@
  16551. replies@
  16552. require@
  16553. rescue@
  16554. response@
  16555. reverted@
  16556. rework@
  16557. right@
  16558. ritlabs@
  16559. rule@
  16560. runtime@
  16561. sampled@
  16562. saying@
  16563. scanners@
  16564. scary@
  16565. scattering@
  16566. searchable@
  16567. emi-detached@
  16568. deregulatoryY
  16569. derek
  16570. deride
  16571. deridedk
  16572. deriding
  16573. derision
  16574. derisory
  16575. derivative
  16576. derivatives
  16577. derive
  16578. derived
  16579. derives
  16580. deriving
  16581. dermis
  16582. dermot
  16583. derogation
  16584. derwentside
  16585. des-5024
  16586. desaturate
  16587. desaturatingd
  16588. desco
  16589. descartesc
  16590. descend
  16591. descendants
  16592. descendants
  16593. descendedF
  16594. listedV
  16595. listenH
  16596. listenedY
  16597. listener
  16598. listener's
  16599. listeners
  16600. listeningP
  16601. listens
  16602. listeurofonts
  16603. listformath
  16604. listindex
  16605. passesB
  16606. passim
  16607. passingG
  16608. passion
  16609. password-setting
  16610. passwordsK
  16611. O+O+O+O+O+O
  16612. I1I1I1I1I1I1I1I1I
  16613. +O+O+O+O+O+O
  16614. I+O+O+O+O
  16615. z{+O+O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  16616. O+O+O+O+
  16617. O+O+O+O
  16618. O+O+O+O+O+O+O+O+O
  16619. O+O+O+O+O+O+O+O
  16620. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  16621. O+O+O+O+O+O+O+O
  16622. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+CO
  16623. O+O+O+Oz
  16624. +O+O+O+O+O+O
  16625. I1I1I1I1I1I1I1I1I
  16626. +O+O+O+O+O+O
  16627. I+O+O+O+O
  16628. 4O+O+O+O+O+O+OO+O+O+O+O+O+O+O,N,O+O+O+O+O+O+*
  16629. O+O+O+O+
  16630. O+O+O+O
  16631. O+O+O+O+O+O+O+O+O
  16632. OO+O+O
  16633. O+O+O+O+O+O+O+
  16634. +O+O+O+O+O+O+O+O
  16635. I+O+O+O+O+O+O+O
  16636. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+P*P+O+
  16637. +O+O+OO+O
  16638. +O+O+O+O+{
  16639. +O+O+OO+O+O+O+O+O+O+O+O+O
  16640. +O+O+z
  16641. +O+O+OO+O+O+O+O+O+O+O+O+O
  16642. %U%U%U%U%U%U%UI1I1I2H2I1I1I1I1I1I1I1I1I1I1I1I1I1$
  16643. P+O+O+O+
  16644. O+O+O+O+O+O+O
  16645. %UI1I1I1I1
  16646. +O+O+O+$
  16647. +O+O+O+O+O+O+O
  16648. +O+OO+O+O+O+O+O+O+O+O+O
  16649. O+O+O+O+O+O+O+O+O+O+O
  16650. +O+O+OO+O+O+O+O+O
  16651. +O+O+O+O+
  16652. O+OO+O+O+{
  16653. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  16654. O+O+O+O
  16655. O+O+O+O+O+O+O+O
  16656. O+O+O+z
  16657. +O+O+O+O+O+O+O+O+O+O+OO+O+O+O+O
  16658. +O+O+O+O+O+O+O+O
  16659. I1I1I1I
  16660. O+O+O+O+O+O
  16661. O+O+O
  16662. O+O+O+O+
  16663. O+O+O+O+O+O+O
  16664. O+O+O+O+O+O+
  16665. O+O+O+z
  16666. O+O+O+O+O+O+O+O
  16667. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  16668. O+O+O+O+O+O+O+O
  16669. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+
  16670. O+O+O+Oz
  16671. +O+O+O+O+O+O
  16672. I1I1I1I1I1I1I1I1I
  16673. +O+O+O+O+O+O
  16674. I+O+O+O+O
  16675. O+O+O+O+O
  16676. O+O+O+O+O+O
  16677. O+O+O+O+
  16678. O+O+O+O+O+O+O
  16679. +O+O+O+OO+O+
  16680. O+O+O+z
  16681. O+O+O+O+O+O+O+O
  16682. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  16683. O+O+O+O+O+O+O+O
  16684. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+EO
  16685. O+O+O+Oz
  16686. +O+O+O+O+O+O
  16687. I1I1I1I1I1I1I1I1I
  16688. +O+O+O+O+O+O
  16689. I+O+O+O+O
  16690. O+O+O+O+O+O+O+O+O
  16691. O+O+O+O
  16692. O+O+O+O+O+O+O
  16693. +O+O+OO+O+O+
  16694. O+O+O+z
  16695. O+O+O+O+O+O+O+O
  16696. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  16697. O+O+O+O+O+O+O+O
  16698. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+
  16699. O+O+O+Oz
  16700. and its all-important PageRank and Hypertext Matching Analysis weighting methodology (check out <A HREF="http://www.google.co.uk/press/overview_tech.html" target="_BLANK">www.google.co.uk/press/overview_tech.html</A> for the horse's mouth explanation), Google stays ahead of the game by predicting trends and implementing new search interfaces to service emerging needs. 
  16701. *Most of the time, it gets it right too, like when it purchased the Deja Usenet Newsgroups archive database and turned it 
  16702. into Google Groups (<A HREF="http://groups.google.com" target="_BLANK">http://groups.google.com</A>), which, despite the fears of many users, has become even more essential than before. The golden Google touch continued with the introduction of the image search facility (<A HREF="http://images.google.com" target="_BLANK">images.google.com</A>), which now lets you search among a mind-boggling 425 million images on the Web, by keyword naturally. So what, I have to ask, has gone so wrong at G
  16703. oogle HQ that it's now wasting precious research and development budget and the time of talented programmers in producing the Google Viewer (which I'll admit is still in demo/beta format)? 
  16704. *This currently sits at the top of the list of new ideas at Google Labs (<A HREF="http://labs.google.com" target="_BLANK">labs.google.com</a>), which usually means it's the most open to feedback and the most likely to be changed by user criticism. Unlike savvy PC Pro readers, the world at large often do
  16705. esn't bother to delve beneath the small square box that is the Google search UI, which is a shame as they miss the chance to exert their influence. 
  16706. *Described by Google as its 'technology playground', not every brainwave incubated here gets released into the real world, and user feedback via the associated forums can help sway things one way or the other. This is why I implore you to go and play with the Google Viewer for ten minutes, discover just how inefficient a means of search and re
  16707. trieval it is and then make your opinion known. I've already put in my ten-cents-worth, of course.  
  16708. *So what is Google Viewer, and why do I think it's so wrong? It's meant to be an easy-to-use interface into Google searching that previews the found web pages themselves rather than just returning a link. In a broadband age, the idea itself isn't fatally flawed, but unfortunately the user interface most certainly is. 
  16709. *A good user interface allows easy, intuitive access to an application or
  16710.  service, but this one does neither. Far too much attention has been devoted to presenting a flashy simulation of the controls of a DVD/Video player, an automatic slide show function and so on, which isn't what I want from a search engine. I want quick access to relevant information - Google has always excelled at this, in my opinion. Sure, you'll get hits that don't meet your criteria, but at least you could quickly glance through the straightforward list of results and mentally filter th
  16711. em out. Once you start mucking about with this simplest of presentation schemes, you start messing with my brain, which is a bad idea. 
  16712. *If you want another horrid example of a search interface gone mad, which totally nullifies the good database parsing behind it, take a look at the Flash-driven confusion that is KartOO (<A HREF="http://www.kartoo.com" target="_BLANK">www.kartoo.com</A>). I just can't be bothered to get to grips with it, and why should I when others present me with the inf
  16713. ormation I want without animations, contrived presentation of links, or making the information even harder to find once the results are in?
  16714. *Other search engines already implement site-preview features that are much easier to use, which is odd, since the whole point of the Google Viewer experiment is to take searching to an easier-to-understand level. The problem I have is that it takes away far more information than it adds, mainly because of the way our brains are set up to work. I doubt
  16715.  I'm alone in being able to quickly scan a page of, say, ten search results in a linear fashion, discounting those that are in foreign languages or barking mad and just as quickly spotting those of interest. I do this every day of my life, opening the likely contenders in a new tab using NetCaptor or Opera usually. 
  16716. *My attempts to work as quickly in the Google Viewer are hampered by the simple fact that no matter how fast your connection and your 'vision/brain/ action' reflexes are, you'r
  16717. e still forced to view every page preview in turn, including all the ones you'd instantly discard as not relevant. How is this meant to save time or make life easier? The answer is it doesn't, won't and can't. The website preview idea itself isn't flawed, just the odd way Google seems intent on implementing it. To see a different implementation that is useful, look no further than two search services you may not yet have heard of, but are fast becoming as essential as Google and Copernic A
  16718. gent: WiseNut (<A HREF="http://www.wisenut.com" target="_BLANK">www.wisenut.com</A>) and KillerInfo (<A HREF="http://www.killerinfo.com" target="_BLANK">www.killerinfo.com</A>).
  16719. *A WiseNut to crack
  16720. *WiseNut has been around for a while, going nowhere slowly until LookSmart bought it for a little under $10 million (
  16721. 6.2m) last year. Now it's one of the four search tools I look to everyday. It incorporates many features found elsewhere into a neat package that delivers the informational goods
  16722.  in a straightforward manner. 
  16723. *You start from a Google-inspired blank box and not much else, with results returned quickly, complete with an AltaVista-style semantically related category list at the top in a sideways directory-tree fashion. Results are returned in normal list format, although the arrangement of entries on the page leaves a little to be desired and can be hard on the eyes. However, the ace up the sleeve is revealed when you click the 'sneak-a-peek' link next to any entry, 
  16724. which quickly opens the referenced web page right there within the list. Yes, the web page window gets elongated and you get scroll bars to move around, but it's live and right there - close the link and it's gone. 
  16725. *This may not sound that wonderful, but once you've tried it you quickly get hooked into its logic. The only downside is that it does sometimes experience server overload in a way that, to my recollection, Google never has. Perhaps LookSmart is having problems scaling up to mat
  16726. ch demand as the Internet grapevine does its stuff. 
  16727. *KillerInfo has pretty much the same things going for it as WiseNut, although its layout is more logical and therefore easier to use. Instead of sticking the semantic link tree at the top, KillerInfo breaks with search engine tradition by displaying it down the right edge in a vertical directory tree. 
  16728. *Result listings fall short of Google's standard in terms of relevant information, but they're formatted in an easy-on-the-eye manner. Th
  16729. ey also feature a Quick Peek function, which is presented better than its rivals' in that you get a larger and more logical look at the web page in question. Again, this is live and running, so if you run your browser full screen at a decent resolution it's actually possible to browse a simple site without leaving the search engine. 
  16730. *This brings me full circle, back to my original question - why can't Google provide this ability, which people would actually be able to use, instead of plod
  16731. ding on with its fatally flawed approach just for the sake of a flashy interface? 
  16732. *Not all the current Google Labs demos are so removed from the real world, and one example is the excellent WebQuotes feature, which has been running since December last year. This is one of those simple ideas that has worked well in other sectors, such as Amazon and eBay, based on the notion of user feedback applied to search results. When you perform a search through the Google WebQuotes interface, the res
  16733. ults are shown along with related quotes snipped from pages that are linked to the sites in question. The end result is a useful gauge of what each site is about, from a configurable number of sources (I've found that 20 gives you a good enough idea), each with a direct link if you want to investigate the source of the comment more. 
  16734. *The advantages of such a system need no explanation, but perhaps its dangers do. With the eBay rating systems, only people who've had dealings with - either 
  16735. buying from or selling to - the member in question can leave a comment and have an impact upon their rating. On Amazon, comments are posted directly to TPTB, who therefore have the ability - many would say the responsibility - to remove potentially libellous or misleading postings. You're probably ahead of me already - in the proposed Google WebQuotes system, all the comments are snippets of opinion posted to completely independent sites outside of Google's control and effectively republis
  16736. hed within the results list your search generates. 
  16737. *This isn't a big deal, unless yours is the site being libelled, but that itself is something of a narrow view - if the only linked comments to some site happen to be negative and false, how could you know? Most intelligent folk can spot an obviously spiteful comment, but if there are no balancing positive comments shown it can be quite hard to reveal the truth. This has only happened to me in a handful of cases, so in day-to-day use you 
  16738. should be able to trust WebQuotes by using your common sense. If a site is as bad as its critics would have it, it won't take long to realise they were right.
  16739. *Another of the services being highlighted in Google Labs is the Google Glossary. Again, this isn't unique in providing a one-stop reference source for word definitions, acronym explanations and technical terminology clarification, but it does a good job. The search results take the form of definitions from various websites, not just
  16740.  the usual educational resource suspects, which makes a pleasant change. There are also links to related phrases should you wish to explore further, and direct links to both dictionary.com and Merriam-Webster if you want the 'usual suspects' definitions. 
  16741. *However, there are other sites that do a much better job, and I've already mentioned one of them - KillerInfo. This has recently added a reference channel, which starts with a dictionary definition of the keyword searched, before present
  16742. ing a list of definitions from various sites together with that useful Quick Peek feature. Most useful is that you also get the same directory-tree indexing as a sidebar, which makes finding exactly the right reference very quick and easy. 
  16743. *KillerInfo also has some other 'channels', as it calls its specialised search filters, that maintain the same results structure but for the fields of business or news, for example. These work well, but while I'm in a critical mood it's a shame you can'
  16744. t do a reference search and, when selecting one of the alternate channels, be moved to the results on that same search. Instead, you have to change channel and start again from scratch. It doesn't take that long, but it's long enough to prevent me from doing so on a whim (and sometimes whim can be a useful research tool).
  16745. **Open-Source Searching
  16746. *After all this talk of interfaces and usability, I can't help but have a laugh at my own expense, seeing as I've been making rather a lot of a l
  16747. ittle toolbar utility I recently stumbled across while doing a regular hunt around the depths of SourceForge.net (<A HREF="http://www.sourceforge.net" target="_BLANK">www.sourceforge.net</A>). If you've never paid a visit to this Aladdin's Cave of the Web, I can only assume you have absolutely no interest in open-source software development (in which case, you must be barmy). 
  16748. *I don't mean you're mad, unless you're a fully bearded, sandal-wearing programmer type with a penguin fetish, but
  16749.  rather that open source is the obvious way forward for the online world. And a community such as this is home to some of the most innovative developers and, therefore logically, to the most innovative and useful applications. Even if you treat it just as a depository for useful software, it's worth a visit - you won't be disappointed. 
  16750. *I'll admit it does help if you're not too tied to the Windows approach to user interfaces, and even more if you're happy to roll up your sleeves and get y
  16751. our hands dirty with some coding. So it was that I stumbled upon a classic 'does what it says on the tin' named Dave's Quick Search Deskbar (<A HREF="http://sourceforge.net/projects/dqsd" target="_BLANK">sourceforge.net/projects/dqsd</A>). This small (380KB download) utility is for people who are so impatient when it comes to searching that even firing up a browser and typing a search string into the Google toolbar is far too time-consuming. Download it, install it, open it up as a toolbar
  16752.  on your XP taskbar and you're pretty much ready to go. Just type a keyword string, hit Enter and a bog-standard Google search pops up in your default browser window. 
  16753. *Of course, that isn't enough for me, but luckily this is one application that has plenty of hidden power. If you want to take advantage of the Google 'I Feel Lucky' function and go directly to the top-ranked result site, just add a '!' to the end of your keyword. If you want a Wayback Machine search instead, prefix the keyw
  16754. ord with 'archi' and that does the trick. Looking for something on Slashdot? No problem, just prefix with 'sd' and so on. Heck, it can even do you a hexadecimal base conversion, generate roman numerals or set off a countdown timer with alarm right out of its toolbar box. 
  16755. *I have to admit that in the land of the open-source application, things can get out of hand pretty easily. On the other hand, you can grasp any sort of functionality you want. Even if it isn't there by default, open sour
  16756. ce means you can add it yourself. With Dave's Quick Search utility, this means generating the correct HTML form into well-formed XML. It isn't particularly difficult if you know the basics of both, but can be time-consuming nonetheless. 
  16757. *This is where another little open-source utility (downloadable from the same URL as the Quick Search Deskbar) going by the name of DQSD Search Wizard comes in handy. Go to wherever you want to add a search facility, drop the cursor into the search query b
  16758. ox, click on the Wizard icon from the browser toolbar (you might need to add this from the Customise Toolbar function within IE) and up pops the Wizard form. Enter a search abbreviation and any other information you feel the need for and another click will perform the conversion into XML in Notepad, ready for you to use when adding that search to the deskbar. Sometimes this works straight off the bat, sometimes you need to do a bit of massaging, but it sure beats doing it all from scratch,
  16759. `5 even if you do have a beard and open-toed shoes...
  16760. HZDavey Winder visits Google's technology playground and isn't impressed by all that he seesL    June 2003X
  16761. 104 (June 2003)i
  16762. Online
  16763. Tom ArahD
  16764. Extending Illustrator
  16765. The ability to extend Adobe Photoshop's functionality through the use of plug-ins is well recognised and most designers will have at least a couple of third-party filter sets in their armoury. Adobe Illustrator offers similar extensibility, but its vector-based plug-ins are hardly known, with none of the brand recognition of KPT or Eye Candy 4000. I decided to find out what's out there by trying ten Illustrator 10-compatible add-ons. Where possible, trial versions are included on this mont
  16766. +O+O+OO+O+O+O+O+O+O+O+O+O
  16767. %U%U%U%U%U%U%UI1I1I2H2I1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I
  16768. O+O+O+O+O+O+O+O
  16769. +O+O+O+O+OO+O+O+
  16770. O+O+O+O+O+O+O
  16771. %U%U%U%U%U%U%UI1I1I2H2I1I1I1z
  16772. +O+O+OO+O+O+O+O+O+O+O+O+{
  16773. O+O+O
  16774. O+O+O+O+O
  16775. O+O+O+$
  16776. O+O+O+O
  16777. O+O+O
  16778. O+O+O+O+O+O+O+O+O
  16779. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  16780. O+O+O+O+O+O+O+O+O+O
  16781. +O+O+OO+O+O+O+O+O+O+O+O+O
  16782. O+O+O+O+O+O+O+O+O+O
  16783. +O+O+O+O
  16784. O+O+O+O+O+O+O+O+O+O
  16785. O+O+O+O+O+O+O+O+O+O
  16786. +OO+O+O+O+O+O+O+O+{
  16787. O+O+O
  16788. O+O+O+O+O+O+O+O+O+O+$
  16789. +O+O+
  16790. O+O+O
  16791. O+O+O+O+O+O+O+O
  16792. +O+$+
  16793. +O+O+O+O+OO+O+O+O+O+O+O+O+O+P*Pz
  16794. +O+O+O+O+O+OO+O+O+O+O+O+{
  16795. O+O+O
  16796. O+O+O+O
  16797. +O+O+O+OO+O+O
  16798. O+O+O+O+
  16799. misleadingZ
  16800. misleadingly
  16801. misled
  16802. mismatch
  16803. missedG
  16804. misses
  16805. missiles
  16806. missingA
  16807. mission
  16808. mission-criticalA
  16809. missouri
  16810. misspelled}
  16811. mistakeV
  16812. mistaken
  16813. mistakenly
  16814. mistakesq
  16815. +O+O+O+O+O+O
  16816. I1I1I1I1I1I1I1I1I
  16817. +O+O+O+O+O+O
  16818. I+O+O+O+O
  16819. +OO+O+O+O+O+O+O+O+O+O
  16820. +O+O+O+O
  16821. I+O+*
  16822. O+O+O+O
  16823. O+O+O
  16824. O+O+O+O+O+O+O+O+O
  16825. +O+O+OO
  16826. *P*P+O+O+OO+O+O+O+O+O+O+O+O+O+O
  16827. +O+O+OO+O+O+O+O
  16828. +O+O+O+O+{
  16829. O+O+O+
  16830. O+O+O+O+OO+O+O+O+O+O+O+O+O+O,N,O+O+$
  16831. O+O+O+O
  16832. O+O+O+O+O+O+O+O
  16833. +O+O+OO+O+O+O+O+O+O+O+O+O
  16834. %U%U%U%U%U%U%UI1I1I2H2I1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I
  16835. O+O+O+O+O+O+O+O
  16836. +O+O+O+O+OO+O+O+
  16837. O+O+O+O+O+O+O
  16838. %U%U%U%U%U%U%UI1I1I2H2I1I1I1z
  16839. +O+O+OO+O+O+O+O+O+O+O+O+{
  16840. O+O+O+z
  16841. +O+O+O+O+O+O+O
  16842. I+O+O
  16843. O+O+O+O+O+O+O+O
  16844. %U%UI1I1
  16845. sidelineM
  16846. sidelinedT
  16847. sidelines
  16848. sides
  16849. sideshow
  16850. sidestep
  16851. sidestepped
  16852. sidestepsy
  16853. sidetracked
  16854. sidewalk
  16855. sidewaysZ
  16856. sidewinder
  16857. sidling
  16858. sidsV
  16859. siegelc
  16860. siegfried
  16861. siemens
  16862. siena
  16863. sierra
  16864. sierraimaging
  16865. sieve
  16866. sifted
  16867. sifting
  16868. sighY
  16869. sighing
  16870. sighs
  16871. sightI
  16872. I1I1I1I1I
  16873. O+O+O+O+O+O+O+O+O
  16874. +O+O+OO+O+O+O+O+O+O+O+O+O
  16875. O+O+O+O+O+O+O+O+O+O+O
  16876. +O+O+OO+O+O+O+O+O+O+O+O
  16877. O+P*P+O+
  16878. O+O+O+O+O+O+O
  16879. +O+O+O+O+OO+
  16880. +O+O+OO
  16881. O+O+O+O+O+O+O+O
  16882. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  16883. O+O+O+O+O+O+O+O+O
  16884. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  16885. O+O+O+O+O{
  16886. I1I1I1I1I
  16887. O+O+O+O+O+O+O+O+O
  16888. +O+O+OO+O+O+O+O+O+O+O+O+O
  16889. O+O+O+O+O+O+O+O+O+O+O
  16890. +O+O+OO+O+O+O+O+O+O+O+O
  16891. O+P*P+O+
  16892. O+O+O
  16893. O+O+O+O+O+O+O+O+O
  16894. +O+O+OO
  16895. O+O+O+O+O+O+O+O
  16896. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  16897. O+O+O+O+O+O+O+O+O
  16898. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  16899. O+O+O+O+O{
  16900. I1I1I1I1I
  16901. O+O+O+O+O+O+O+O+O
  16902. +O+O+OO+O+O+O+O+O+O+O+O+O{
  16903. I+O+O
  16904. +O+OO+O+O+O+O+O+O+O+O+O
  16905. +O+O+O+O
  16906. O+O+O+O+
  16907. O+O+O+O+O+O+O
  16908. %UI1I1I1I1
  16909. +O+O+OO
  16910. O+O+O+O+O+O+O+
  16911. O+O+O
  16912. +O+O+OO+O+O+O+O+O+O+O+O+O
  16913. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  16914. I+O+O+O+O+O+O
  16915. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O
  16916. P+O+O+O+
  16917. O+O+O+O
  16918. O+O+O+O+O+O+O+O+O
  16919. +O+O+OO
  16920. O+O+O+O+O+O+O+O
  16921. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  16922. +O+O+OO+O+O+O+O+O+O+O+O+O
  16923. %U%U%U%U%U%U%UI1I1I1I1I1I1
  16924. J0J1I1I1I
  16925. +O+O+O+O+O+OO+O+O+O+O+O+O+O+O+Pz
  16926. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  16927. +O+O+O
  16928. I+O+O+O+O
  16929. +O+O+O+O+O+O+OO+O+O+O+O
  16930. O+O+O+O+
  16931. O+O+O+O+O+O+O
  16932. %UI1I1I1I1
  16933. +O+O+OO
  16934. O+O+O+O+O+O+O+O
  16935. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  16936. +O+O+O+O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  16937. +O+O+
  16938. I+O+O
  16939. +O+O+O+O+O+O+O+OO+O+O+O+O+O+O+O{
  16940. +O+O+O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  16941. I+O+O+O+O+O+O
  16942. +O+O+O+O+O+O+OO+O+O
  16943. O+O+O+O
  16944. O+O+O+O+O+O+O
  16945. %UI1I1I1I1
  16946. +O+O+OO
  16947. O+O+O+O+O+O+O+O
  16948. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  16949. O+O+O+O+O+O+O+O+O
  16950. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  16951. O+O+O+O+O{
  16952. h's cover CD.
  16953. *Illustrator extensions don't have to break the bank. Visit the Sapphire Innovations site (<A HREF="http://www.sapphire-innovations.com" target="_BLANK">www.sapphire-innovations.com</A>) and you'll find a host of filters, brushes and shapes, all the work of Andrew Buckle. The range is impressive, but the downside is you can easily feel lost. Dig a little, however, and you'll find Andrew's 11 sets of Illustrator add-ons, costing from just 
  16954. 8 up to 
  16955. 40. Finding out what they al
  16956. l do is more difficult, as some have broad themes, while others are mixed bags. Bewilderment might continue even after you've installed your add-ons - Andrew clearly prefers to spend his time on developing new functions rather than documentation or streamlining. 
  16957. *Take the very handy Symbol Paint tool (volume 8), which paints with symbol instances - its dialog lets you adjust no less than 30 parameters. Some of these can be intimidating but are definitely worthwhile. The mysterious Hit Typ
  16958. e/Request parameter, for example, enables you to restrict your painting to selected objects or paths. Other hidden gems include the Random Clutter, Random Text and Perspective Grid tools, and at 
  16959. 60 for the entire collection it would be churlish to complain. Having said that, most users would probably prefer a little less control and a little more usability.
  16960. *An excellent example of a budget add-on that's both simple and effective is Hot Door's MultiPage ($49 - 
  16961. 30 - from <A HREF="http://w
  16962. ww.hotdoor.com" target="_BLANK">www.hotdoor.com</A>). This offers a simple floating palette in which you add new pages and select the page on which you want to work. You can print any page selection or export it to PDF using new File menu commands. 
  16963. *Multiple page handling must top most Illustrator users' wish-lists, and you're forced to wonder whether MultiPage is too good to be true - is it just a trick? In a way it is. Behind the scenes, it works its magic simply by treating layers as p
  16964. ages. Whenever you create a new 'page', a new layer is added - with the relevant guide layer acting as master page - and all other layers/pages automatically hidden. This becomes obvious if you add a layer in the Layers palette, because a new page appears in the MultiPage palette too, but if you stick with sublayers you'll be fine. Let's hope Adobe sees sense with Illustrator 11 and finally scraps its artificial and maddening single-page limit. Until then, MultiPage provides a very handy w
  16965. orkaround.
  16966. *Equally simple and efficient is Vertigo's 3D PopArt 2 add-on ($59 - 
  16967. 37 - from <A HREF="http://www.vertigo 3d.com" target="_BLANK">www.vertigo 3d.com</A>), which transforms any selected path into a shaded 3D object. Again, it's a simple floating palette that lets you define the extrusion depth, rotate your object in X, Y and Z dimensions and set a lighting angle. As you change settings, a small preview cube is updated correspondingly; when you hit Apply, the effect is applied t
  16968. o the current path. It's nowhere near state-of-the-art compared with CorelDRAW's and FreeHand MX's extrusion capabilities, but it's all you'll need to produce the occasional 3D shape or heading. 
  16969. **High-end products
  16970. *The add-ons so far all fall into the category of occasional one-off use - with prices to match - but other developers are targeting niche markets with more advanced and professional functionality. For example, Artlandia SymmetryWorks 2 ($165 - 
  16971. 102 - from <A HREF="http://www.
  16972. artlandia.com" target="_BLANK">www.artlandia.com</A>) is aimed at users for whom pattern making is a central part of their work. Its basic principle is simple: select a path or paths, click on any of the 17 coloured icons in the SymmetryWorks palette, and multiple copies of your object(s) are rotated, glided and reflected to produce a symmetric pattern. 
  16973. *The beauty of this system is that patterns remain live so you can keep adding X or Y tiles to fill the space required. More importantly,
  16974.  you're able to edit the original 'seed' pattern, for example, by resizing, repositioning, recolouring or adding a new element, and the overall pattern gets updated. You may also add editable cloned 'replicas' of your seed and save these, together with the transformations that you apply to them, as 'layouts'. Working in this way, it's possible to control step and sliding effects, gradations and so on and produce virtually any kind of repeating pattern. There are lots of power features for 
  16975. advanced users, but I wish Artlandia also offered a cut-down 'lite' version, as its basic symmetry effects offer plenty of creative power.
  16976. *Another important niche is the production of perspective drawings. The simplest and most powerful solution is Perspective, again from Brendon Cheves and the developers at Hot Door ($179 - 
  16977. 111 - from <A HREF="http://www.hotdoor.com" target="_BLANK">www.hotdoor.com</A>). It comes as several dedicated drawing tools, including the most obvious cube and cy
  16978. linder options, plus three palettes. 
  16979. *In the first palette, Perspective Document, you choose the type of dimensional drawing you want to produce from isometric, oblique and perspective options. In the second, Perspective Grid, you define the spacing and colour of your grid. The third palette, Perspective Objects, is most impressive, showing a small thumbnail of a cube. By selecting one of its faces and then hitting the Update command, you can automatically project your currently selected 
  16980. object(s) onto the appropriate plane, creating a true perspective image at a stroke. Most impressive of all, this perspectivised artwork remains live, so if you change the grid settings - say, from isometric to oblique, or back to head-on for editing - the artwork automatically updates.
  16981. *Hot Door also has a solution for producing technical drawings. CADtools 2.1 ($199 - 
  16982. 124 - from <A HREF="http://www.hotdoor.com" target="_BLANK">www.hotdoor.com</A>) isn't as eye-catching as Perspective, b
  16983. ut it offers four comprehensive setup and control palettes and a range of 38 drawing and dimensioning tools. Highlights include automatic callouts with dimension and label styles, numeric input and control, customisable document scales, and scaled move, transform and repeat capabilities.
  16984. *One of the most common tasks for Illustrator users is tracing scanned bitmaps to produce truly scalable and pin-sharp vectorised versions, for example, if you're involved in exhibitions or producing large
  16985. -format signs. This is where LogoSpruce ($199 - 
  16986. 124 - from <A HREF="http://www.comnet-network.co.jp/eng" target="_BLANK">www.comnet-network.co.jp/eng</A>) comes in, offering a range of tools for tracing imported bitmaps. I expected these to offer automatic image tracing, but that's not what LogoSpruce is about; for example, the Line Trace tool is designed to let you, wait for it, draw straight lines! 
  16987. *After my initial horror, I gradually came to appreciate what LogoSpruce does. To start 
  16988. with, there's a whole range of tools to assist the manual tracing process, including adding one-click guides and the automatic straightening of imported bitmaps. The tracing tools themselves include a number of useful and innovative options like adding perfectly smooth curves at a tangent to the current line. Even LogoSpruce's line tool is far more powerful than Illustrator's own, as it automatically identifies endpoints, midpoints and tangent lines, lets you swap between tool variations a
  16989. nd zoom in and out on your image using keyboard shortcuts. Finally, there's another set of tools designed to correct your artwork, including a Trim tool that automatically deletes a line back to the nearest intersection. All told, LogoSpruce offers a comprehensive and well-thought through range of functions for reproducing raster artwork as clean vectors.
  16990. *If you'd still prefer a tool that does the work for you, there's another plug-in that fits the bill. The Silhouette plug-in ($244 - 
  16991. 2 - from <A HREF="http://www.silhouetteonline.com" target="_BLANK">www.silhouetteonline.com</A>) is built on the same tracing engine as the well-respected standalone Silhouette application (only available for the Mac). Select the new Vectorize Raster Image tool and use the Silhouette palette to set tolerances, choose black-and-white or colour and, if the latter, whether you want to trap coloured objects so they overlap slightly. Once you've chosen your settings, click on the bitmap and a s
  16992. econd or so later the vectorised version appears automatically. 
  16993. *The problem with such automatic tracing solutions, as LogoSpruce has realised, is that it can take longer to clean up the results than to reproduce the artwork from scratch. Silhouette comes into its own here with a range of dedicated correction tools for automatically aligning control points, sharpening corners and smoothing and simplifying paths. The Silhouette palette even offers a large Preview window where you can see w
  16994. hat effect your tool settings will have before you apply them.
  16995. **Standalone?
  16996. *Silhouette's unique combination of automatic tracing and dedicated correction is impressive, but you have to ask yourself whether you wouldn't be better off with a standalone solution such as Adobe Streamline. The same could be asked of other professional plug-ins aimed at niche markets. For perspective work, wouldn't you be better off using Macromedia FreeHand? For CAD, wouldn't you be better off with Corel DES
  16997. IGNER? There's certainly a lot of sense in asking the question, and if you're not already an Illustrator user, the answer is a definite yes. 
  16998. *If you are an existing user, though, there are plenty of advantages to adding the extra power right there in your preferred drawing environment (and one which offers such power, creativity and integration). And while these plug-in developers might not be household names, I was surprised at just how professional and workable their products are. But i
  16999. n the end, the unbeatable benefit of these small developers is that they know exactly how Illustrator is used in real-world production environments and how to make the most of it.
  17000. *In between these budget one-off plug-ins and high-end targeted solutions, there lie two stand-out collections that manage to provide such wide-ranging new functionality and creativity that they are, in effect, third-party upgrades for Illustrator. The first is Vector Studio 2 ($129 - 
  17001. 80 - from <A HREF="http://w
  17002. ww.virtualmirror.com" target="_BLANK">www.virtualmirror.com</A>). I was a big fan of the first release, which introduced a number of features such as interactive Morph Brushes, Envelope Meshes and the non-destructive application of bitmap filters. Adobe was clearly impressed too, as it bought Virtual Mirror's distortion-based tools and implemented its own envelope and filter handling. 
  17003. *After Illustrator had incorporated the main highlights of version 1, version 2 was never going to be qui
  17004. te such a 'must-have', but it's still remarkable. Two palettes for improving Illustrator's existing gradient handling and for adding a whole new style of gradient-based texture have survived from the first release, along with the ability to apply effects as lenses. There are also new tools to improve shape editing and simplify paths, plus the ability to arrange and save palette layouts. 
  17005. *More eye-catching are the new Retouch brushes, which let you change the brightness, hue and saturation
  17006.  of objects and gradient mesh nodes simply by painting over them. Even more powerful and innovative are the new Sampler tools, where you can change an object's colour, transparency and even size, based on sampled object settings, gradients and even imported bitmaps. It takes a while to get your head around just what these Sampler tools are able to do - for example, cloning an imported bitmap as appropriately coloured and sized halftone dots - but their creative power is undeniable (and far
  17007.  enough from the mainstream that Adobe is unlikely ever to incorporate its own version).
  17008. *One plug-in collection that I hadn't come across before is FILTERiT4.1 ($129 - 
  17009. 81 - from <A HREF="http://www.cvalley.com" target="_BLANK">www.cvalley.com</A>). Again, the range and the depth of features on offer stand out. In FILTERiT, these are divided into three main sections: new tools for Illustrator's toolbar, new commands for the Filter menu and new 'live effects' controlled from their own pale
  17010. ttes. 
  17011. *Looking at the Wave, Warp, Roughen, Lens, Broom and Craft (pinch and punch effects) tools, it's clear that like Vector Studio FILTERiT also pioneered interactive distortion effects for Illustrator, although now Illustrator offers its own versions their benefit is obviously much reduced. However, FILTERiT has cleverly given its tools a new lease of life with a 'trace' capability that produces multiple copies of the object in between its original and filtered states. After releasing 
  17012. these to layers, they can produce eye-catching Flash-based animations. Other new tools include AlignPoints options that let you quickly straighten lines and align objects horizontally and vertically, and the Trail tool, which leaves copies of the current object along the path that you drag - again very useful for Flash animations. 
  17013. *My favourite tool is the MetaBrush, which works rather like Sapphire Innovations' Symbol Paint tool but with any object or objects. Select your objects, then t
  17014. he brush, and begin painting with them. For greater control, you can set the space, size, angle and orientation of the added objects and decide how these settings should vary based on pressure, direction, number of steps and so on.
  17015. *FILTERiT's two added Filter menu commands show just how much power may be packed into an add-on. The first, Fractalize, adds new path segments to the paths of selected objects, of a shape, number, height and variation that you select. You can apply the same pro
  17016. cess to the added segments themselves, producing self-similar fractal-style effects. As with many FILTERiT tools, the settings can be saved as presets and the Fractalize command can also be applied non-destructively from the Effects menu. 
  17017. *More powerful still is the 3D Transform filter, which lets you transform objects to a specified 3D shape. This acts like a mini-application in its own right, built around a large preview window. By dragging in the preview, you can rotate an object aroun
  17018. d the X and Y axes and, by Shift-dragging, around the Z axis. You may also specify a 3D rotation both before and after the transformation is applied. The real power is seen when you select from the 12 types of transformation on offer - simple rotation, twist, sphere, cylinder and so on - each with a host of controls. Whether you're producing a simple perspective change or an eye-catching 3D spiral, the power is all here (the only obvious omission being realistic shading).
  17019. *What gives the F
  17020. ILTERiT collection its final edge is its range of 13 effects, each controlled from its own palette. The effects are broadly split into two categories. The first group - Border, Cutout, Emboss, Neon and Shadow - is concerned with controlling the appearance of the selected object's path and works by duplicating, recolouring, blending and offsetting objects. Such effects are relatively common nowadays and Illustrator offers its own shadow and glow effects, but FILTERiT provides greater contro
  17021. l and keeps its effects vector-only. 
  17022. *The second range - Circle, Explosion, Frame, Galaxy, Generation, Reflections, Tiling and Trail - is also built around duplicating the selected object, but this time using the duplicates to produce patterns. These effects act almost as the cut-down version of SymmetryWorks I was wishing for earlier, and - as with SymmetryWorks - their great strength is that they remain live so you can always change settings. For example, you could change the offset and
  17023.  shadow of the Border effect's bevel or add copies and change the spread of the Explosion effect.
  17024. *FILTERiT stands out from the crowd, but in many ways it's typical of all these third-party plug-ins, from Sapphire Innovations to Silhouette. In particular, its combination of tools, commands and live effects shows the unique benefit that Illustrator offers to its third-party developers - complete integration. By comparison, Photoshop plug-ins seem semi-detached at best. 
  17025. *Having said this, F
  17026. ILTERiT is also typical in that its effects can be demanding to get to grips with and aren't suitable for occasional users. In fact, all these Illustrator plug-ins, with the honourable exceptions of MultiPage and PopArt, tend toward the technical and can be difficult to master. Once you've mastered them, though, each plug-in richly rewards the effort by seriously boosting productivity and creativity. Illustrator's plug-ins demonstrate that you can teach an old dog new tricks, and do it suc
  17027. cessfully.
  17028. HHTom Arah looks at the full range of add-ons available for Illustrator 10L    June 2003X
  17029. 104 (June 2003)i
  17030. Publishing/graphics
  17031. Mark Newton and Paul OckendenD    .NET gain
  17032. The latest beta version of Visual Studio .NET landed on Mark's desk the other week and, after some initial troubles installing it - plus huge amounts of hard disk space being consumed - a new and shiny developer's tool appeared. A lot has been said about .NET and whether it brings any advantage for the website builder, so we thought we'd take a web application builder's view of it this month. Since Visual Studio is a programming environment, we decided it would be fun to try and implement 
  17033. extending
  17034. illustrator[
  17035. extensions
  17036. fabric
  17037. fails
  17038. faith
  17039. fallout
  17040. rarely
  17041. answered
  17042. farewelli
  17043. farewell
  17044. fredi
  17045. fatigue
  17046. faxing
  17047. faxing
  17048. surfing
  17049. fearful
  17050. fearful
  17051. symmetry
  17052. quality
  17053. fervor
  17054. fettling
  17055. fibre
  17056. fiddler
  17057. fiddler
  17058. fight
  17059. fighting
  17060. fighting
  17061. cybercrime
  17062. files
  17063. filtern
  17064. filter
  17065. tipsn
  17066. filtering
  17067. filtering
  17068. finding
  17069. finding
  17070. grail
  17071. firewall
  17072. fishy
  17073. fishy
  17074. goings-on
  17075. fixes
  17076. fixes
  17077. updates
  17078. flair
  17079. flash
  17080. flash
  17081. flash
  17082. attack
  17083. flash
  17084. rescue
  17085. flashing
  17086. flashing
  17087. ahead
  17088. flexible
  17089. flexible
  17090. images
  17091. wisdom
  17092. online
  17093. onward@
  17094. parlez-vous
  17095. internet@
  17096. perfecting
  17097. plus@
  17098. prove@
  17099. rarely@
  17100. knowledge
  17101. search@
  17102. semantic
  17103. service@
  17104. sighs@
  17105. small
  17106. console-ation
  17107. sorry
  17108. sound@
  17109. support@
  17110. tears@
  17111. arena@
  17112. three-way
  17113. fight@
  17114. tooling@
  17115. u-turn@
  17116. ventured@
  17117. webcam
  17118. watchdog
  17119. fcuk@
  17120. you're
  17121. being
  17122. 0-1003-201-7239473-0@
  17123. 0.04@
  17124. 00:40:8c@
  17125. 020170431500@
  17126. 1&mary@
  17127. 1.01f@
  17128. 1.2.1@
  17129. 1.75in@
  17130. 1.95@
  17131. 10-2@
  17132. 10.0.0.50
  17133. 10/100/1000@
  17134. 100/10baset@
  17135. 100000
  17136. 1000000000
  17137. 100hz@
  17138. 101527.113
  17139. 1024@
  17140. 1024/1200
  17141. 10ft@
  17142. 10mbits/sec
  17143. 11.3@
  17144. 18gb@
  17145. 192.168.254.2@
  17146. 1971@
  17147. layers/pages[
  17148. layingF
  17149. layman'sS
  17150. layoffs
  17151. layoutH
  17152. layoutkind
  17153. layoutsH
  17154. leadY
  17155. extrusion[
  17156. extrusions
  17157. exttextout
  17158. eye'sd
  17159. eye-candy
  17160. eye-catching[
  17161. eye-opener
  17162. eye-openers
  17163. eye-opening
  17164. eye-popper
  17165. eye-popping
  17166. eye-safe
  17167. eye-watering
  17168. eball-to-eyeball
  17169. eyeballing
  17170. eyeballsF
  17171. eyebrow
  17172. eyebrows
  17173. +O+O+O+O
  17174. O+O+O+
  17175. +O+O+O+OO+O+O+O+O+O
  17176. +O+O+O+O
  17177. OO+O+O+O+O+O+O
  17178. +O+O+O+O
  17179. I+O+O+O
  17180. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  17181. +O+O+O+O
  17182. I+O+O+O
  17183. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  17184. O+O+O+O+O+O+O
  17185. +O+O+O+OO+O+
  17186. +O+O+OO
  17187. O+O+O+O+O+O+O+O
  17188. O+O+O+
  17189. +O+O+
  17190. +O+O+OO
  17191. +O+O+O+O+O+O+O
  17192. +O+O+O+O
  17193. +O+O+O+O+O+O
  17194. O+O+O+O+O+O+O+O+O+{z
  17195. O+O+O+O
  17196. O+O+O+O+O+O+O
  17197. +O+O+OO+O+O+
  17198. +O+O+OO
  17199. O+O+O+O+O+O+O+O
  17200. O+O+O
  17201. +O+OO
  17202. +O+O+O+O+OO+O+O+O
  17203. +O+O+O+O+{
  17204. +O+O+OO+O+O+O+O+O+O+O+O+O
  17205. O+O+O+O
  17206. O+O+O+O
  17207. O+O+O+O+O+O+O+O+O
  17208. +O+O+OO
  17209. O+O+O+O+O+O+O+O
  17210. O+O+O
  17211. +O+OO
  17212. +O+O+O+O+O+O+O+O
  17213. +O+O+O+O
  17214. I+O+O+O
  17215. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  17216. +O+O+O+O
  17217. I+O+O+O
  17218. +O+O+O+O+O+O+OO+O+O+O+O
  17219. O+O+O
  17220. O+O+O+O+O+O+O+O
  17221. OB+O+O
  17222. O+O+O+z
  17223. O+O+O+O+O+O+O+O
  17224. OO+O+O+O+O+O+O+P*
  17225. P+O+O+O+O
  17226. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  17227. O+O+O+O+O+O+O+O
  17228. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  17229. O+O+O+O+O+O+O+O
  17230. O+O+O+O+O+O+O+O+
  17231. O+O+O+O+O
  17232. O+O+O+O+O+O+O+O
  17233. O+O+O+O+O+O+O+O
  17234. +O+O+O+O+OO+O+O+O
  17235. +O+O+O+O+{
  17236. +O+O+OO+O+O+O+O+O+O+O+O+O
  17237. I+O+O+O+O+O+O
  17238. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  17239. I+O+O+O+O+O+O
  17240. +O+O+O+O+O+O+OO+O+O+O+O
  17241. O+O+O+O+O+O+O
  17242. O+O+O+O+O+O+
  17243. +O+O+OO
  17244. O+O+O+O
  17245. rat's
  17246. ratchet
  17247. rateE
  17248. rate-adaptive
  17249. ravingL
  17250. raynsford
  17251. razzmatazz
  17252. rdbmse
  17253. rdp-tcp
  17254. acts[
  17255. acts/acts2000/200000
  17256. acts1998/19980029
  17257. +O+O+O+O
  17258. O+O+O+z
  17259. O+O+O+O+O+O+O+O
  17260. +OO+O+O+O+O+O+O+O+O+O
  17261. O+O+O+O+O+O+O+O+O+O+O+O+O
  17262. +OO+O+O+O+O+O+
  17263. O+O+O+O
  17264. +O+O+OO+O+O+O+O+O+O+O+O+O
  17265. I+O+O+O+O+O
  17266. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  17267. I+O+O+O+O+O
  17268. +O+O+O+O+O+O+OO+O+O+O+O
  17269. O+O+O+O+O+O+O+O
  17270. %U%UI1I1
  17271. O+O+O+z
  17272. O+O+O+O+O+O+O+O
  17273. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  17274. +O+O+O+O+O
  17275. I+O+O
  17276. +O+O+O+O+O+O+OO+O+O
  17277. +O+O+O+O+{
  17278. +O+O+OO+O+O+O+O+O+O+O+O+O
  17279. +O+O+O+O+O+O
  17280. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  17281. +O+O+O+O+O+O
  17282. +O+O+O+O+O+O+OO+O+O+O+O
  17283. O+O+O
  17284. O+O+O+O+O+O+O+O+O
  17285. O+O+O+z
  17286. O+O+O+O+O+O+O+O
  17287. +O+OO+O+O+O+O+O+O+O+O+O
  17288. O+O+O+O+O+O+O+O+O+O+O
  17289. +O+O+OO+O+O
  17290. +O+O+O+O+{
  17291. +O+O+OO+O
  17292. actedL
  17293. acticex
  17294. actingD
  17295. actinic's
  17296. actiniccatalog
  17297. actionA
  17298. 33ffff
  17299. 33ff33
  17300. 3333ff
  17301. 333333
  17302. wwwwww
  17303. UUUUUU
  17304. DDDDDD
  17305. """"""
  17306. O+O+O+O
  17307. O+O+O+O
  17308. sensibility
  17309. sensibly
  17310. sensing@
  17311. sentence
  17312. sentences
  17313. separate@
  17314. separated@
  17315. separations
  17316. sequencing@
  17317. serial/usb@
  17318. serif@
  17319. serious
  17320. seriously@
  17321. served@
  17322. server
  17323. server's
  17324. server-centric@
  17325. server/metaframe@
  17326. serverless
  17327. servername/share@
  17328. servers
  17329. serversource
  17330. servervariables
  17331. service@
  17332. service's@
  17333. service-packed
  17334. serviceable
  17335. servicedetail@
  17336. services
  17337. services/sites/defau@
  17338. session's@
  17339. -click@
  17340. sir-ee@
  17341. site's@
  17342. situ@
  17343. six-column@
  17344. skilfully@
  17345. skills@
  17346. slave@
  17347. slim@
  17348. slotting@
  17349. slurp-tocc/si@
  17350. small
  17351. changes
  17352. large
  17353. unanticipated
  17354. consequences
  17355. smallest@
  17356. sme/soho@
  17357. snatchers@
  17358. sniffer@
  17359. farewell
  17360. served
  17361. reworkH
  17362. reworked}
  17363. reworking
  17364. reworks
  17365. rewraps
  17366. rewritable
  17367. rewriteC
  17368. rewrites
  17369. rewriting
  17370. rewrittenK
  17371. rewrote
  17372. rfc-editor
  17373. rfc1305
  17374. rfc1738G
  17375. rfc1766
  17376. rfc2030
  17377. rfc3028
  17378. rfc822
  17379. rfc822-formatted
  17380. rfc868
  17381. rfi/magnetic
  17382. rgb-based
  17383. rgb-getavailabledriv
  17384. ridiculously]
  17385. riding
  17386. Jon HoneyballD
  17387. Taking the tablets
  17388. I've finally bowed to the inevitable and purchased a Tablet PC, as I knew I eventually would. I say this in such a sad, resigned way because I believe most laptop manufacturers are currently peddling tired, unimaginative products that are neither one thing nor the other. On one side, they attempt to be portable, but are much too heavy and clumsy to be something you carry around all the time; on the other, they attempt to be a desktop, but the limitations on keyboard and mouse quality soon 
  17389. a traditional Visual Basic program, but as a browser-based .NET Web Form application. 
  17390. *Mark had to do something like this in 1997 for CityScan, but back in those days the browsers were all version 3 with no DHTML, no CSS and there were still major differences between IE and Netscape. Mark had considerable 'fun' coding this up using a site with nine framed areas and hand-rolled JavaScript to provide all the functionality. It's a current project of Mark's to revisit this web application and
  17391.  implement it using Web Forms and Web Services, but for now we'll look at what can be done to implement a simpler application as a Web Form. This application displays records from a database table into a data grid - fairly standard stuff. 
  17392. *The first two screenshots show the Windows application written in Visual Basic 6 and the web application written as a Web Form with Visual Studio .NET 2003 beta. As you'll see, they're remarkably similar, the main differences lying in the tab and data g
  17393. rid controls, which under .NET aren't as refined as the Visual Basic ones, though we're sure they'll be improved given time. The thing that struck us most about building this Web Form was that you write it just as you would write a VB application - that is, you open a form and drag objects onto it, position them as you want and then set their properties to 'wire' them up together. There's little initial coding required in the early stages of UI development when designing either a Visual Ba
  17394. sic application or a .NET Web Form. Gone are all those battles with using HTML tables for positioning or hand-coding of scripts for validation, and along comes full debugging and drag-and-drop design. The code you write is in the language of your choice, with full hinting to help with its syntax.
  17395. *As for the components that you use, while many are supplied, there are even more being produced out there by third-party software vendors for you to buy. The Web Form that we built connects a dat
  17396. a grid to a SQL server database and, as you select the tabs along its top, the data grid gets repopulated with the corresponding records from the database. All the components we used came bundled with Visual Studio, although we couldn't find a multiline tab control that was available as a demo and had to make up the tabs along the top using buttons, hence the slightly strange look of this part of the UI. Given time, we're sure that better tab controls for .NET will appear. 
  17397. *It was interes
  17398. ting that while programming we noticed the absence of certain properties from otherwise familiar controls - there are areas of difference between VB and VB .NET that will continually trip you up at first. It's important to realise that you can't just take your implementation in VB and rewrite it in VB .NET without first considering some of the implications. If you use databases and data controls, one of the biggest differences is that .NET uses 'disconnected datasets'. 
  17399. *To understand what
  17400.  this involves, consider a 'normal' Windows application that talks to a database. This database is either part of the application or may be somewhere out on the network if the application in question is of the client-server type. In both cases, the application is permanently connected to the database and quite reasonably doesn't expect it to just 'disappear'. However, with a Web Form that's connecting to a database over the Internet, it isn't unreasonable to expect the connection to slow d
  17401. own or even break. It's here that disconnected datasets come in handy. The dataset inside the Web Form connects to the external data source using a .fill command, following which all the other data controls talk to this local dataset and not directly to the external data source, except when an update is required. Next, the dataset sends its copy of the data to the external data source and refreshes this copy of the data once the updates have been committed. This means the performance of th
  17402. e Web Form application isn't heavily dependent on the speed of the Internet connection, and the application can happily handle being offline.
  17403. *An interesting point is that while writing this Web Form, not a single word of HTML was written. All the design and programming was done within Visual Studio and VB and then the application was 'built' and run. If you click Show Source in your browser when the web application is running, you'll see the HTML that's generating the Web Form and can not
  17404. e that it looks fairly familiar, full of HTML tags and snippets of JScript. Just to see how tightly this solution would be tied to Microsoft's own browser, the Web Form was also tried out in Netscape 6.1 and, although there were some changes to the look of certain controls, the core functionality still worked.
  17405. *Once you've written and tested your web application, you'll need to deploy it onto a web server and configure this to run the application. Again Visual Studio helps, as you can crea
  17406. te a web setup project that will install all the necessary files and configure any web server settings. You can, if you wish, test for the presence of the .NET Framework and install this on the server if it doesn't have it, although because this is some 23MB in size it's probably better to install it manually. It only needs to be done once and then your web application files will all become a more manageable size. 
  17407. **FrontPage 11 and XSLT
  17408. *In previous articles, we've talked about Web Serv
  17409. ices and 'consuming' the data from them. This data comes in XML format and, for it to be usable, you'd either use a web proxy or an XML template known as an XSLT. Web proxies are - in the case of Visual Studio - built using a command-line script or - in the case of Macromedia's Dreamweaver MX - on the fly as you connect to a Web Service. However, XSLTs offer a simple way to format XML data and, being simple text files, you can use any text editor to produce them. This is all very well, but
  17410.  it puts designing XSLTs currently on a par with coding HTML in Notepad: there's no graphical tool allowing drag-and-drop of data fields in the XLM data, for applying styles and generating an XSLT from the result. Until now that is - by the time you read this, the embargo will be off and we can talk about Microsoft's Office 2003. 
  17411. *The product in the Office suite in which we're most interested is FrontPage. In the past, we haven't been too kind to FrontPage as a web design tool, although a
  17412. s a design-and-configuration tool for a lot of other Microsoft technologies like SharePoint it's often the product of choice. FrontPage now has another claim to fame in that it is - so Microsoft says - the world's first fully graphical XSLT editor, and as such we're sure it will be welcomed with open arms by those of us who have to design such things. Next month we'll be looking at FrontPage 2003 in more depth to see what other treats are in store.
  17413. **Slow burn
  17414. *If you had to choose a sing
  17415. le word to define the way we currently live, the word that sums up modern times, that word would possibly be 'fast'. Everything is fast these days: fast food; fast cars; fast lifestyles. Our kids can't cope with 'slow', have the attention span of gnats and many of them can't even survive to the end of an MTV video. Even our comedy is served up in 30-second chunks, courtesy of the Fast Show. And let's not forget our Internet connections.
  17416. *At their office, most professional web designers wil
  17417. l probably be sitting at the end of a big fat MegaStream pipe plumbed directly into Telehouse (the communications heart of the UK's Internet infrastructure), while at home they'll almost certainly have some kind of ADSL or cable modem connection, again just a couple of 'hops' and a few milliseconds away from Telehouse. Those of us who are thwarted by both BT and the cable companies and can't get broadband at home will have our houses on the market in search of a Luddite buyer, and will be 
  17418. actively looking to move somewhere a bit more 'wired'. What was once a pipe-dream has now become a necessity, and many of us simply couldn't do our jobs if we weren't sitting on the end of some form of high-speed window onto the outside world.
  17419. *There's one problem, though. As most of us have only had these high-speed connections for a short time, not only have we become totally dependent on them but we've also forgotten what it was like to struggle along with a 56K modem waiting for pages 
  17420. to load. Hmm... 56K modems, now there's a case for the Trades Description Act. As Jim Royal might say, '56K my arse!' Did anyone ever see a 56K modem actually connect at 56K? But that's all in the past. We have broadband now and we've become totally complacent.
  17421. *And the result of this complacency? A web full of monsters. Oh, sure there are some beautiful monsters, finely detailed monsters, exquisitely designed monsters, even. But, nevertheless, monsters. We're building huge sites that are 
  17422. no longer usable by people using slow connections. Our designers are creating 'heavier' sites - pages composed of layer-upon-layer of graphics, big background images, massive Flash movies, scads of preloaded animations and let's not forget sound. Every web page now seems to want to either sing or talk to you, and each mouse click will be accompanied by a wonderful musical fanfare. Wonderful, that is if you have a high-spec PC with the latest Logic Pro THX Super Dolby Digital Surround speak
  17423. er system. To the masses out there, with 'these came with the PC' speakers, the glorious fanfare will usually be transformed into a pathetic farting noise.
  17424. *Our programmers and HTML 'code monkeys' are no better than our designers. They too are building for broadband only. Where once they'd write code that pages through data ten records at a time, these days it's more likely to be a hundred. Where once the tags on a page would be optimised by hand to speed up page loading, today you'll find
  17425.  superfluous tables-within-tables-within-tables, enough white space to fill a small book and great swathes of 'last year's code' surrounded by comment tags.
  17426. *Don't be too hard on these designers and programmers though, as it's easy to see how such complacency arose. For those involved in building the sites, their pages will still load very quickly both at work and at home. When you only ever access the Internet via a fast connection, and when all of your friends have broadband too, it's so
  17427.  easy to forget that there are still people out there with slow modems. There are people who can't get broadband; people who don't want broadband; people from countries with poor connectivity; people who can't afford 
  17428. 25-30 per month. In our rush to launch new sites, we tend to forget about these people. 
  17429. *It's crazy when you think about it: we'll spend ages making sure that a new site works with IE 3, IE 4 and some horrendous old version of Netscape, but then we'll completely forget to te
  17430. st it using a 33.6K modem. The reason is obvious - most of us no longer have dial-up accounts to test sites from and don't even have modems. Can you remember the last time you heard that screeching noise as a dial-up connection was made? If the answer is no, you're almost certainly one of the people we're talking about.
  17431. **Getting sloppy
  17432. *There is, you'll be pleased to hear, a solution to this problem, which comes in the form of a Java Web Start application that goes by the name of Sloppy.
  17433.  What it does is simple enough - it deliberately slows down data transfer between the client and the server. You could be sitting in Telehouse or connected directly to a LINX (London INternet eXchange) switch port, but it wouldn't matter - running a site through Sloppy means you'll see it just as a modem user would see it.
  17434. *Sloppy was written by Richard Dallaway and you'll find it on his website at <A HREF="http://www.dallaway.com/sloppy" target="_BLANK">www.dallaway.com/sloppy</A>. If you
  17435.  already have Java Web Start installed on your machine, you can just download Sloppy and run it. If not, you'll need to pay a visit to <A HREF="http://java.sun.com/products/javawebstart/index.html" target="_BLANK">java.sun.com/products/javawebstart/index.html</A> and install Java Web Start. The latest version is shipped as part of the Java 2 platform, Standard Edition (J2SE) and we had no problem running Sloppy using that. Earlier releases of Java Web Start are available in standalone form
  17436. , but it's probably safest to stick with the most recent release. When you get to the download page, just select the JRE version for your platform (Windows, Linux or Solaris) - you don't need the SDK to run Sloppy.
  17437. *Once you have Web Start installed, simply click the 'Launch Sloppy' link on Richard's site, which takes the form of a JNLP (Java Network Launching Protocol) file. You might get a dialog asking what you'd like to do with this file - if so, select the option to open/run it and th
  17438. e Java Web Start environment you've installed on the machine will know what to do with it. This download will install Sloppy and register it within the Web Start environment. You'll probably see a warning that Sloppy is requesting access to your machine, but just click the Start button and a few moments later you'll see Sloppy's small user interface. 
  17439. *As you'll see from the screenshots, the Sloppy user interface is simple: you just type in the URL of the site, select the modem speed, and ]Othen hit Go. Sloppy belongs in the 'essentials' toolbox of every web developer.
  17440. H<Mark Newton gets a new tool, while Paul Ockenden gets sloppyL    June 2003X
  17441. 104 (June 2003)i
  17442. Web Business
  17443. usefulA
  17444. disappearedJ
  17445. disappearingL
  17446. disappearsL
  17447. disappoint
  17448. disappointedD
  17449. disappointingS
  17450. disappointingly
  17451. disappointmentH
  17452. disaster-recoveryL
  17453. sayingA
  17454. sayings
  17455. sb1394
  17456. ~ffff
  17457. ffffff
  17458. ffff33
  17459. ff33ff
  17460. ff3333
  17461. editionsB
  17462. editorM
  17463. educationc
  17464. education-friendly
  17465. snatchersP
  17466. sneaky
  17467. sniffR
  17468. snoopers
  17469. socket
  17470. softwarec
  17471. software-based
  17472. solaris
  17473. solid
  17474. solutionV
  17475. solutions
  17476. solve
  17477. solves
  17478. solving
  17479. someB
  17480. ed-up
  17481. sourceu
  17482. sources
  17483. sowed
  17484. space
  17485. spacesd
  17486. spam-blitzer
  17487. spam-filteringc
  17488. spammer
  17489. sparked
  17490. speak
  17491. speaks
  17492. O+O+O+O+O+O+O+O+O+O+O+O+O+
  17493. O+O+O+Oz
  17494. +O+O+O+O+O+O
  17495. I1I1I1I1I1I1I1I1I
  17496. +O+O+O+O
  17497. O+O+O+O+O+O+O
  17498. %UI1I1I1I1
  17499. O+O+O+z
  17500. O+O+O+O+O+O+O+O
  17501. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  17502. O+O+O+O+O+O+O+O
  17503. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+
  17504. O+O+O+Oz
  17505. +O+O+O+O+O+O
  17506. I1I1I1I1I1I1I1I1I
  17507. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  17508. I1I1I1I1I1I1I1I1I
  17509. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  17510. O+O+O+O+O+O+O+O+O
  17511. O+O+O+z
  17512. O+O+O+O+O+O+O+O
  17513. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  17514. O+O+O+O+O+O+O+O
  17515. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+
  17516. O+O+O+Oz
  17517. +O+O+O+O+O+O
  17518. I1I1I1I1I1I1I1I1I
  17519. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  17520. I1I1I1I1I1I1I1I1I
  17521. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  17522. put a stop to that.
  17523. *Until now, my ideal 'transportable desktop' laptop has been the Apple PowerBook Titanium, and with the recent launch of the 17in screen version - complete with DVD cutter, wireless and every sort of port known to mankind - it will be hard to resist upgrading.
  17524. *I've already tried every PDA on the market and found them all wanting: too small, too fiddly, too limited, too slow and some have battery lives that are ridiculously short. And don't get me started on the current
  17525.  wave of smartphones - they're truly horrible confections. What I wanted was something like an electronic pad of A4 paper that I could carry around with me all the time, and I think I've found it in the HP/Compaq Tablet PC. 
  17526. *This machine has a keyboard that detaches, and happily there's no sign of it trying to be one of those weird 'everything to everyone' designs that's basically just a conventional laptop with a rotating screen. Last summer, I was fortunate enough to get hold of an Acer
  17527.  prototype from the Microsoft workshop, but after a month I was glad to give it back. It was a victim of its own indecisiveness and ended up being only a moderately effective laptop and a thoroughly awkward Tablet PC. The Compaq is different and is firmly aimed at being carried around all the time. The keyboard works well enough for those times when you want a keyboard, but for me it will be used almost never, because the on-arm and on-desk operation of the Compaq is so good.
  17528. *I did worry 
  17529. that the lack of pressure sensitivity on the pen would become an issue, but I resolved this by reminding myself that I'm like a clumsy three-year-old when it comes to graphical design, and that adding pressure sensitivity is unlikely to turn me into Leonardo da Vinci. The memory as delivered at 256MB is a little stingy, but this is because the Crusoe processor takes some 40MB for its own use - a quick 
  17530. 30 256MB upgrade fixed that anyway. Some might find the Crusoe a bit on the slow side, b
  17531. ut I don't agree. In a truly portable device, you want to have just enough power to do your work and nothing more if the battery life is to be at all useful. 
  17532. *Now I'm really looking forward to the next beta release of Office 11, which comes with the OneNote application mentioned in previous columns. Being able to voice record meetings and integrate the data with my doodlings will be a major productivity breakthrough for me. 
  17533. **jDiskReport
  17534. *For years, I've been looking for a straightforwa
  17535. rd application that shows how much disk space has been consumed on a drive, and how it's split between the various directories. Most of the applications I've come across so far have been overly complex or try to do 30 other things at the same time. However, I've finally found my nirvana in an applet called JDiskReport, a download from <A HREF="http://www.jgoodies.com" target="_BLANK">www.jgoodies.com</A>. This is a site set up to showcase the Java programming capabilities of its author Kar
  17536. sten Lentzsch, who lives in Germany. There's a Web Start installation of JDiskReport for those who run Windows, or full instructions on how to start the Java package for those on almost any other platform. 
  17537. *The utility is brilliantly simple in operation and its user interface is uncluttered. I can click on any part of any of the graphs and drill down to get the detailed information. Performance is excellent and it just does the job. Best of all, it's free and won't time-expire. Go to Lent
  17538. zsch's website and check it out. 
  17539. **OWA Yes!
  17540. *For many companies, the ability to get into your corporate email system from anywhere in the world, irrespective of the computer you're using at the time, is a mission-critical function. It even has relevance right down to the small business user, who wants to be able to check email from home but certainly doesn't want to get into the complexity of bouncing office emails to a home-accessible mailbox or something equally messy. For this reason,
  17541.  Exchange Server's Outlook Web Access (OWA) becomes a killer feature for those deploying Exchange. In OWA, you can see the clear benefit of having a centralised mail store and not allowing email to go down to the desktop itself. By keeping it stored centrally, you can access it from any number of machines running normal Outlook, for example. 
  17542. *But you also get the OWA capability. To refresh your memory, OWA is a set of Web Services in Exchange Server that tightly couple to the IIS web serv
  17543. er on the same box. The ASP code allows you to log into your mailbox and have everything presented to you with full editing and reading capabilities. 
  17544. *I can go into a web caf
  17545.  on the other side of the planet and get into my email, which makes this a potent application. I've even used it in places where I suspected the traffic might be being snooped - a web caf
  17546.  in Rio de Janeiro in December, for example, where several dozen kids were playing networked Quake and a surly owner might well ha
  17547. ve run a packet sniffer on the Internet connection. 
  17548. *To ensure the security of my information, I made sure I logged into my web server using HTTPS encryption. In past columns, I've explained how easy it is to get Windows 2000 Server to generate its own self-referential SSL certificates for just this purpose. 
  17549. *With the forthcoming Titanium release, otherwise known as Exchange Server 2003 (ES2003), Microsoft has put a lot of effort into building up OWA and ensuring that it offers an even r
  17550. icher experience. There were many holes in the ES2000 version and lots of areas that could have been improved. However, ES2003 now delivers with a vengeance. Basically, it looks and operates just like Outlook 11, which is in the next release of Office. There's the same three-pane view, the drag-and-drop capabilities, and there's a richness that will blow away users used to ES2000 OWA. You can even get into a window that allows you to modify your server-side rules. Sorting out client- and s
  17551. erver-side rules in Outlook itself can be a pain, but with this new OWA window you get straight to the server side. 
  17552. *Are there any downsides? Well, such a rich client experience takes a fair bit of downloading, and you might find it a little sluggish on a slow Internet connection, at least for initial loading. Also, the full richness only works on IE 6, which means Windows clients. The experience on 'lesser' browsers is still good and certainly an improvement on previous versions, but it 
  17553. falls a long way short of the Windows/IE 6 experience. 
  17554. *For many people, the new facilities in OWA might well tip them into upgrading from ES2000 to ES2003. They'll get the other benefits too, which will be mostly relevant if they upgrade to the new Outlook at the same time. But given that ES2003 will run on Windows Server 2000 and doesn't require Windows Server 2003, it's an incremental upgrade that can be done at your own speed. 
  17555. **Slow Login Again
  17556. *Yet again I've come across this issu
  17557. e, so it's time to nail it once and for all. The scenario is quite simple. You have a Windows NT 4 server network with a bunch of XP client machines. It's decided that you'll upgrade to Windows 2000 Server over a weekend, and the on-site local IT junior goes pale at the thought. So a self-styled consultant is retained to mutter the necessary mantras over the server one weekend. The server upgrade seemed to go fine, so the consultant goes home and explains to his wife that it was a hard day
  17558.  at the office (inserting a CD-ROM and pressing Enter a few times). 
  17559. *On Monday morning, all hell breaks loose in the office. The users of the desktop machines find it takes forever and a day to log into the shiny new server ('forever' in this context meaning up to 15 minutes or so). 
  17560. *Finally, each machine does log in successfully, so work can start. At this point, the company hauls the consultant back in to fix the problem. There's much scratching of collective heads, with the consultant
  17561.  swearing blind that the server is fine and the local on-site IT junior saying that nothing has been changed on the desktops. 
  17562. *After a few days, someone like me gets called in, which makes me feel like the chap in the circus ring who follows the elephant with a bucket and spade. You don't know what things have been tweaked in the meantime to attempt to get the server to be stable, and Windows 2000 has a sufficiently large number of available adjustments that spotting something unhelpful c
  17563. an be hard. 
  17564. *However, this one turns out to be easy to fix. Go to a desktop XP machine, open up the TCP/IP properties and there you'll find the address of the DNS server, and I'll bet you dollars to doughnuts that it's the IP address of the DNS server at the company's ISP, somewhere down at the other end of their ADSL, Kilostream or ISDN line. 
  17565. *The IT junior put this address in because that's what the ISP told him to do, and it worked just fine for web browsing. Let's not worry for a mom
  17566. ent that every DNS query was being sent up the line, or that while this was happening the firewall was probably left wide open to allow each desktop machine to contact the outside world. So, you change the DNS server entry from the ISP's to the IP address of the Windows 2000 Server, which coincidentally is running DNS services too. Log out, log back in and marvel how it now takes no time at all. 
  17567. *The obvious question is, 'what's going on here?' Well, you have to remember that Windows XP i
  17568. s Active Directory (AD) aware, so it knows it's on an AD network because it's joined to one. When you try to log in, XP attempts to find a local AD server to authenticate your request, and this process of location is done via - yes, you guessed it - the DNS server running on the Windows 2000 box, which knows all about where the AD boxes and services are located (these are the Resource Records in the AD DNS whose names start with underscores). 
  17569. *If the Windows client is pointing to the ISP'
  17570. s DNS, it will ask the ISP's DNS where Mama is and then, not surprisingly (and in a wholly Wizard of Oz sort of way), it won't have any idea how to get home. The desktop machine says 'please, please, please' and the server says 'nope, I won't tell you'. This pathetic little psychodrama is played out for about 10 to 15 minutes until finally Dorothy the Desktop gives up and screams a local broadcast around the local network. The internal DNS server and AD box pipe up with a 'here I am' and t
  17571. he desktop finally logs in. 
  17572. *I don't know how much more clearly I can say this: DNS is critical to the operation of Windows 2000 and AD. It's used for just about everything, and on the client side you must point your DNS queries to your own AD/DNS box for resolution. By 'must', I don't mean 'it's a good idea', I mean 'there's no alternative'. And don't screw things up by putting in secondary DNS server entries that point to the ISP's DNS server. I've seen that in several installations, wh
  17573. ere the AD/DNS has been accidentally set up to believe it's root authoritative and that the rest of the Internet doesn't exist. In desperation, the IT admins have put the ISP's DNS server address as the secondary DNS server in order to get some sort of external resolution. Can you imagine the mess this causes? 
  17574. **Get Wet
  17575. *I recently needed to set up an Internet connection in a room that had no network ports. I didn't want to drape Ethernet cables around the door frame and halfway down the
  17576.  hallway to a nearby network socket, but unfortunately none of the client computers had wireless networking capability. A solution was found in the excellent Linksys WET11 Wireless Ethernet Bridge, which I discovered a few months ago. I purchased a couple ready for just such an event. 
  17577. *The WET11 consists of a small box, not much bigger than a paperback, which has an external power supply unit and an Ethernet port, and a large aerial that you screw onto a small plug. The easiest way to con
  17578. figure it is to attach a machine to its Ethernet port and run the software supplied on a CD-ROM, which will walk you through the setup process and takes only a few seconds. After a reboot of the box, it should be up and running. From here, you can just point a web browser at the IP address of the Linksys box and remotely manage it via HTTP. 
  17579. *Once I'd confirmed that I had a wireless connection to the nearest Apple AirPort base station, I plugged a 16-port switch into the Ethernet port of t
  17580. he Linksys and, voil
  17581. , I had an instant desktop network access point in a room that had no Ethernet. 
  17582. *A wireless Ethernet bridge like this has so many uses: you can use it around the house to get networking into a room that has no wired access, or you could use it to place an Ethernet-connected printer somewhere more useful. Obviously, its forte is working with devices that have no wireless capability of their own, though I'll confess I'm tempted to try plugging an AirPort base into the L
  17583. inksys to see if this coupling will allow me to build a wireless extension bridge and thus get Internet connectivity in some remoter parts of my office. 
  17584. **Wiebetech adaptors
  17585. *A couple of months ago, I mentioned the WiebeTech hard disk to FireWire adaptors, which enable you to mount a bare IDE hard disk onto the adaptor and then hot-plug it onto a FireWire bus. They come in two main sizes: one for desktop hard disks and one for laptops. I ordered one of each and they've just arrived. They
  17586. 're nicely built, with machined metal cases and quality connectors, and they just work. Plug in an IDE hard disk of unknown parentage, pop it onto a FireWire bus and instant plug-and-play - the disk is mounted. 
  17587. *If you run a hardware repair shop, or are an IT department that gets hard disks in machines that have broken down, these adaptors will be worth their weight in gold. They're not expensive and, despite HM Government's best attempts at liberating a further 
  17588. 50 from me for import dut
  17589. ^Ly and so forth, I reckon they're an invaluable tool to have in your toolbox.
  17590. HaResistance proves to be futile for Jon Honeyball as he delves into his pockets to buy a Tablet PCL
  17591. May 2003X
  17592. 103 (May 2003)i
  17593. Advanced Windows
  17594. Simon JonesD
  17595. Invoices in Excel
  17596. I recently got an email from Peter Andrews, who has been helping his local garage by doing some programming in return for servicing. Peter has been developing an Excel template for invoices, and everything was going along fine, even the bit about MOT tests not being VATable. However, he ran into trouble when trying to make the invoice number increment automatically for each invoice:
  17597. *'I feel I could now design an invoice template from scratch in Excel, but I don't know how to write a macro
  17598. areaA
  17599. arise@
  17600. arising@
  17601. arose
  17602. around@
  17603. arranged
  17604. arrangements@
  17605. arrest@
  17606. arrive
  17607. arrived@
  17608. arrogance@
  17609. artefact@
  17610. articles@
  17611. artistic
  17612. artworks@
  17613. computerised
  17614. designer
  17615. never
  17616. stora@
  17617. issues
  17618. month
  17619. seems
  17620. after
  17621. jumping
  17622. empire
  17623. state
  17624. building
  17625. ascii
  17626. ascii-based@
  17627. asides@
  17628. asked@
  17629. asked-for@
  17630. askew
  17631. asleep@
  17632. asp-iration@
  17633. aspire@
  17634. asserted@
  17635. assignable@
  17636. assignment@
  17637. associated@
  17638. associates
  17639. association's@
  17640. assumes@
  17641. assumption@
  17642. astaro@
  17643. astray
  17644. first
  17645. glance
  17646. palm's
  17647. recently
  17648. announced
  17649. at&t@
  17650. atone@
  17651. attaches@
  17652. attacker@
  17653. attacking@
  17654. attempted@
  17655. attempting@
  17656. +O+O+O+O
  17657. O+O+O+O+O+O+O
  17658. %UI1I1I1I1
  17659. O+O+O+z
  17660. +O+$+
  17661. +O+O+O+O+OO+O+O+O+O+O+O+O+O+P*P
  17662. O+O+O+O+O+O+O
  17663. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  17664. O+O+O+O+O+O+O+O+O+O
  17665. +O+O+O+OO
  17666. +O+O+OO+
  17667. O+O+O+O+O+O+O
  17668. %UI1I1I1I1
  17669. O+O+O+z
  17670. +O+O+O+O+O+O+O+O+O+O+OO+O+O+O+O
  17671. O+O,N,O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  17672. O+O+O+O+O+O+O+O
  17673. O+O+O
  17674. +O+O+O+O+O
  17675. +O+O+OO+
  17676. O+O+O+O+O+O+O
  17677. +O+O+O+O+OO+
  17678. O+O+O+z
  17679. O+O+O+O+O+O+O+O
  17680. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  17681. O+O+O+O+O+O+O+O
  17682. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+
  17683. O+O+O+Oz
  17684. +O+O+O+O+O+O
  17685. I1I1I1I1I1I1I1I1I
  17686. +O+O+O+O
  17687. O+O+O
  17688. O+O+O+O+O+O+O+O+O
  17689. O+O+O+z
  17690. O+O+O+O+O+O+O+O
  17691. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  17692. O+O+O+O+O+O+O+O
  17693. O+O+O+z
  17694. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  17695. %U%U%U%U%U%U%UI1I1J0J1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I
  17696. O+O+O+O+O+O+O+O+O
  17697. +O+O+O+O+O
  17698. O+O+O+O+O+O+O+O+O+O
  17699. %U%U%U%U%U%U%UI1I1J0J1$
  17700. +O+O+OO+O+O+O+O+O+O+O+O,N,O+
  17701. +O+O+OO+O+O+O+O+O+O+O+O+O
  17702. %U%U%U%U%U%U%UI1I1I
  17703. +O+O+O+O
  17704. O+O+O+O
  17705. O+O+O+O+O+O+O+O+O
  17706. O+O+O+z
  17707. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  17708. %U%U%U%U%U%U%UI1
  17709. I1J0J1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I
  17710. O+O+O+O+O+O+O+O+O
  17711. +O+O+O+O+O
  17712. O+O+O+O+O+O+O+O+O+O
  17713. %U%U%U%U%U%U%UI1I1J0J1$
  17714. +O+O+OO+O+O+O+O+O+O+O+O,N,O+
  17715. +O+O+O+O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+{
  17716. +O+O+OO+
  17717. O+O+O+O
  17718. O+O+O+O+O+O+O+O+O
  17719. O+O+O+z
  17720. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  17721. %U%U%U%U%U%U%UI1I1J0J1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I
  17722. O+O+O+O+O+O+O+O+O
  17723. +O+O+O+O+O
  17724. O+O+O+O+O+O+O+O+O+O
  17725. %U%U%U%U%U%U%UI1I1J0J1$
  17726. +O+O+OO+O+O+O+O+O+O+O+O,N,O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O
  17727. prototypedE
  17728. prototypes
  17729. prototyping
  17730. protracted
  17731. protrubence
  17732. protrudes
  17733. protx
  17734. protx-enabled
  17735. proud
  17736. proudly
  17737. provably
  17738. proveP
  17739. udo-photograph
  17740. psionu
  17741. psion's
  17742. psyche
  17743. psychodrama]
  17744. psychologicalQ
  17745. ptrcategoryo
  17746. ptrpostero
  17747. publicA
  17748. O+O+O+O+O+O+O+
  17749. O+O+O+Oz
  17750. +O+O+O+O+O+O
  17751. I1I1I1I1I1I1I1I1I
  17752. O+O+O+O+O+O+O+O
  17753. +O+O+OO+O+O+O+O+O+O+{
  17754. +O+O+OO+
  17755. O+O+O+O+O+O+O
  17756. O+O+O+O+O+O+
  17757. O+O+O+z
  17758. +O+O+O+O+O+O
  17759. I1I1I1I1I1I1I1I1I
  17760. +OO+O+O+O+O+O+O+O+O+
  17761. +O+O+OO+O+O+O+O+O+O
  17762. +O+O+O+O
  17763. O+O+O+O+O+O+O
  17764. +O+O+O+OO+O+
  17765. O+O+O+z
  17766. +O+O+O+O+O+O+O+O+O+O+O
  17767. O+O+O+O+$
  17768. ,N,O+OO+O+O+O+O+O+O+O
  17769. OO+O+O+O
  17770. +O+O+OO+O+z
  17771. +O+O+O+O
  17772. O+O+O+O+O+O+O
  17773. +O+O+OO+O+O+
  17774. berners-leeQ
  17775. berners-lee'sy
  17776. bernstein
  17777. berry
  17778. berth
  17779. bertha
  17780. beset
  17781. besets
  17782. besettingt
  17783. besideY
  17784. besides`
  17785. bespectacled
  17786. bespoke
  17787. betew
  17788. betidei
  17789. betrays
  17790. betterA
  17791. better-than-averageD
  17792. bettingJ
  17793. betweenB
  17794. O+O+O+O+O+O+O+O+{
  17795. +O+O+OO+
  17796. O+O+O
  17797. O+O+O+O+O+O+O+O+O
  17798. O+O+O+O+O+O+O+O
  17799. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  17800. O+O+O+O+O+O+O+O
  17801. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+
  17802. O+O+O+Oz
  17803. +O+O+O+O+O+O
  17804. I1I1I1I1I1I1I1I1I
  17805. O+O+O+O+O+O+O+O
  17806. +O+O+OO+O+O+O+O{
  17807. O+O+O
  17808. O+O+O+O+O+O+O+O
  17809. O+O+O+O+O+O+O+O
  17810. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  17811. O+O+O+O+O+O+O+O
  17812. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+
  17813. O+O+O+Oz
  17814. +O+O+O+O+O+O
  17815. I1I1I1I1I1I1I1I1I
  17816. O+O+O+O+O+O+O+O
  17817. +O+O+O+O+O+O+O+O
  17818. I1I1z
  17819. +O+O+O+O
  17820. O+O+O+O+O
  17821. O+O+O+O+O+O+O+O
  17822. O+O+O+z
  17823. O+O+O+O+O+O+O+O
  17824. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  17825. O+O+O+O+O+O+O+O
  17826. O+O+O+O+O+O+O+O+
  17827. David Moss and Jon HoneyballD
  17828. Gory sequel
  17829. Here's some harsh, cruel but worthwhile advice: if your company was hit by the recent 'Slammer' SQL Server worm and you're a board-level member of your company, I advise you to fire your IT director now. If you don't have an IT director but you're nominally in charge of IT, fire your IT manager now. Also, please identify who's responsible for the company firewalls and fire them as well. You might think this is a little harsh, maybe a little hasty. It's not. Those companies that got infecte
  17830.  in the template, which will look for another workbook  (for example, invoice number.xls), find a number in cell A1, increment it by 1, save invoice number.xls, then write the incremented number into a specified cell in the opened template.'
  17831. *It's funny how things come around, as I covered this problem in my first column for PC Pro six years ago (issue 30), so perhaps it's time to revisit and expand on this topic. The basic answer to Peter's question is that when you open an Excel workbook
  17832. , whether an existing or new one, Excel fires up the Workbook_Open event. If a new workbook is based on a template, you can write code in the Workbook_Open event of the template and this will be run whenever a workbook is created from that template or you open an existing workbook that was previously created from that template. 
  17833. *Peter wants to assign the next invoice number to a newly created invoice, but doesn't want to overwrite an existing invoice number whenever the user reopens a sav
  17834. ed invoice. You can use the fact that a newly created invoice won't already have an invoice number to avoid overwriting any existing invoice number - only run the code if there isn't an invoice number there already.
  17835. *One of the easiest ways to identify which cell contains what data is to set up 'named ranges', which gives a meaningful name to a cell or group of cells, so you can refer to 'InvoiceNo' instead of 'M3'. To create a named range, highlight the cell or cells, type the name and pr
  17836. ess Return in the name box on the far left-hand side of the formula bar. For this piece of code, I created named ranges called InvoiceNo and Date. 
  17837. *The range method will return a cell or collection of cells. You can identify which cells to return using the cell addresses, such as 'A2', 'B3:D4', or by specifying a named range. So, Range ("InvoiceNo") will return the cell I just named as InvoiceNo. If this cell's Text property is empty, it doesn't already have an invoice number so you'll ne
  17838. ed to get one.
  17839. *To open a workbook, you must call the Open method of the Workbooks collection, passing the name of the file to open. To make this work, you have to create a new workbook, put the next invoice number into a cell, name that cell 'NextInvNo' using Named Ranges as before, and save the workbook, remembering the exact name and path to the file. That name and path need to be put in the code in the call to Workbooks.Open. In the workbook you open, you can find the named range 'Next
  17840. InvNo', increment it and remember the value, then you need to save and close the workbook. Now put the number into the InvoiceNo cell on your new invoice. A similar, but rather easier, bit of code can check for the existence of an Invoice Date and put today's date in if there isn't one already (see Code Listing One).
  17841. *There are several things to notice about this code. While it does what Peter asked, it may not be exactly what he needs. What happens if you open the template file itself and
  17842.  make a change to it? The next invoice number will get incremented and put into the template itself, and now the template won't work because the code tells it to do nothing if the invoice number and date field are already filled in. 
  17843. *You have to remove the invoice number and date from the template before you save it. You also need to open the next invoiceno.xls workbook, decrement the number stored there and save that workbook to avoid having an invoice number missing from the sequence. Y
  17844. ou get a similar problem if you start a new invoice and abandon it, hence 'wasting' an invoice number. This missing number problem is a consequence of assigning and incrementing the number on creation of the invoice. On the other hand, assigning the date to the invoice on creation is okay, as it's likely the new invoice will be dated today, and where this isn't the case you can type the new date before saving and printing.
  17845. *This brings us to the question of where to save completed invoices
  17846.  and what to call them. If you don't provide any code for this, the user will have to point to the right folder and manually name the files when they're first saved, which may lead to invoices being stored in different folders and using different naming conventions. It would be better to set the folder path and name in code. 
  17847. *So, if you move the call to the GetInvoiceNumber procedure from the Workbook_Open event and put it in a new SaveAndPrintInvoice procedure, you can get the next invoi
  17848. ce number, print the invoice and save it all at the same time. You may also ensure the invoice is saved in a predetermined folder with a consistent name, which includes the invoice number (see Code Listing Two).
  17849. *You can now make a toolbar button for the SaveAndPrintInvoice routine, which the user may click when they've filled in all the other details. But what if a user tries to print the invoice using the ordinary Print button on the toolbar or the File | Print... command on the menu? Th
  17850. e invoice won't be given a number and it won't be saved. 
  17851. *You can solve this by making use of the Workbook_BeforePrint event. If you put your code to get the invoice number and save the workbook here, it won't matter how the invoice is printed - it will always get a number and be saved. Similarly, if the user tries to save the workbook without printing it, the invoice won't have a number and may be saved with the wrong name in the wrong folder. The Workbook_BeforeSave event is a good plac
  17852. e to put code to deal with naming and saving workbooks (see Code Listing Two). 
  17853. *Unfortunately, there are some nasty gotchas waiting to catch you out. There's no way to set the name or path of a workbook without calling the SaveAs method, but if you call Workbook. SaveAs from inside the BeforeSave event, you immediately re-enter the BeforeSave event and can end up going round in circles. You need to leave yourself a marker to say that you've already been here and stop trying to interfere, 
  17854. which is accomplished by using a Static variable; that is, a variable visible only within the procedure, and which keeps its value from one call of the procedure to the next. You could use a module level or global variable, but that would be using a wider scope than is necessary and good programming practice dictates you always use the minimum scope necessary for any variable, constant or procedure (because it reduces the chance that variable names will clash or that variables will get cha
  17855. nged when they shouldn't by some other procedure).
  17856. *So, in the Workbook_Before Save event, after you've determined that you're running in an actual invoice and not the template, check your booAlreadyWorking flag. If you're not already working, set the flag to say you are now, then you can get the next invoice number and call the ActiveWorkbook.SaveAs method to save the invoice with the correct name. This will immediately call the Workbook_BeforeSave event again and you're back at the top o
  17857. f the procedure. Check again that you're not in the template - this time you're already working, so skip over the middle bit and the procedure ends. 
  17858. *Now execution resumes at the line after the call to ActiveWorkbook.Save. You know the workbook is already saved, as you just called the SaveAs method and you've just been through the BeforeSave event. You also know Excel will try to save the workbook again when this instance of the BeforeSave event finishes and you don't want to save the wor
  17859. kbook twice, so set the Cancel flag to True. You can then cancel the flag that says you're already working and end the procedure.
  17860. *That's the meat of the program code, but what about the design of the invoice? There are going to be formulae and descriptive text all over the invoice and you don't want your end user  changing these, intentionally or by accident. The best way to ensure that is to mark only those cells the user is supposed to type into as 'unlocked' and then protect the whole 
  17861. worksheet. 
  17862. *To make it obvious that the user can or should enter data into a cell, I colour it pale yellow as well as unlocking it. You can click and drag to highlight a range of cells and then hold the Ctrl key while clicking and dragging to highlight another: keep doing this until you've selected all the areas in which the user may type. Press <Ctrl-1> to open the Format Cells dialog and from the Patterns tab, select the pale yellow colour. This will show up nicely on screen, but is too
  17863.  pale to print on black and white printers. 
  17864. *On the Protection tab, untick the Locked checkbox and then press OK. Now choose Tools | Protection | Protect Sheet..., tick the top box and, in the list below, tick only the box that says users can select unlocked cells. If you use a password, you may need to put it in the code if your macros change the values or formatting of any cells that are locked. See the bottom of the GetInvoiceNumber procedure in Code Listing One.
  17865. *Protecting a sheet do
  17866. esn't stop the user from creating new sheets or deleting ones that are already there. For that, you have to protect the workbook structure by going to Tools | Protection | Protect workbook... 'Protect Workbook windows', the other option on the Protect Workbook dialog, is too drastic, as users should usually be allowed to move or resize windows.
  17867. *I'm sure the rules about Value Added Tax (VAT) could fill several library shelves, but the main ones are contained in The VAT Guide, Notice 700 fr
  17868. om Her Majesty's Customs and Excise. If you produce or receive invoices for a company, you should check section 6 about VAT invoices, where it defines what must be included on a VAT invoice. You have to, for instance, show the VAT rate or rates applicable and either the VAT charged for each line or a summary of the goods values and VAT charged for each VAT rate or both. You must also show your company's VAT Registration number. 
  17869. *Calculating the VAT for each line is a little difficult, as 
  17870. you have to use the VLookup function to select the appropriate VAT rate from a code letter. You must also remember to round all calculations to avoid penny discrepancies in the totals at the bottom. Producing an analysis of the goods values and VAT amounts for each VAT rate is a little easier, as it only involves the SumIf function. 
  17871. *The last word has to be on macro security. As this template contains macros, the code should be signed by the developer to avoid triggering security warnings
  17872.  every time you create a new invoice. You can get round this requirement by putting the template into the user or workgroup templates folder and ticking the box in Excel's Security dialog Tools | Macro | Security..., that says to trust all installed add-ins and templates, but I can't recommend that course. Why should you trust something just because it's held in a particular folder? Sign your code, then your users know it comes from you and hasn't been tampered with.
  17873. **Template Wizard
  17874. ck in the original article in issue 30, I wrote about using the Template Wizard to create a database of invoice data. This would be a separate workbook containing invoice number, date, goods amount, VAT amount, total and so on. This Wizard, although useful, was dropped from Excel 2002 (Office XP) onward, but it's available as a download from <A HREF="http://office.microsoft.com/Downloads/2002/tmplwiz.aspx" target="_BLANK">http://office.microsoft.com/Downloads/2002/tmplwiz.aspx</A>
  17875. *If you 
  17876. ;use Office 2000 or before, the Wizard is on the installation CD, though you may have to run the installation routine again if you previously chose not to install Excel Add-Ins. You should find the sales invoice.xlt template, the nextinvoiceno.xls workbook and a copy of my original article on this month's cover CD.
  17877. HBSimon Jones revisits his past to shed light on a spreadsheet issueL
  17878. May 2003X
  17879. 103 (May 2003)i
  17880. Applications
  17881. cancel^
  17882. cancelbots
  17883. cancelerror
  17884. cancelhint
  17885. cancellation
  17886. cancelled
  17887. cancelling
  17888. cancels
  17889. candidateB
  17890. candidatesz
  17891. candidly
  17892. canines
  17893. canlii
  17894. cannabist
  17895. canned
  17896. cannibalise
  17897. canningc
  17898. cannon
  17899. cannotT
  17900. canny
  17901. canoe
  17902. canoma
  17903. canon
  17904. canonicalw
  17905. canos
  17906. canread
  17907. company's]
  17908. company-branded|
  17909. company-facing
  17910. company-only
  17911. company-specific
  17912. company-wideK
  17913. company/brand/charit
  17914. company/individual
  17915. Paul LynchD
  17916. Webcam watchdog
  17917. This month, I'm taking a break from my usual handheld-oriented routine in order to discuss a project I recently carried out that has a lot of applications besides the security concerns that motivated me. Being a mobile computer user raises plenty of issues and only some of them relate directly to the problems of travelling.
  17918. *I'm coming to realise more and more that the support systems you need to leave in place at home are very important. For example, there are times when you have to be aw
  17919. d, did so entirely because of their own carelessness. 
  17920. *You may have noticed I didn't suggest firing the SQL Server administrators themselves, and there's a good reason for this - it wasn't their fault. And before I go any further, I should add that I'm spitting mad at the appallingly low quality of reporting, analysis and so-called expert opinion that has been expressed on the Web, in print and even on TV over this affair. Almost everyone involved should be hanging their heads in shame.
  17921. To be sure, Microsoft can't escape entirely from this orgy of finger-pointing either. Yes, the firm issued a patch last summer for clearing up the problem, but only the most generous of persons would claim Microsoft is therefore blameless. The original patch was a bitch to install and, worse still, some subsequent patches appear to have undone the original one. That SQL Server isn't covered by Windows Update is something else Microsoft should ponder, because it ought to be easier than this
  17922.  to patch core back-office technologies. 
  17923. *Having said all this, it wasn't Microsoft's fault: a vulnerability was discovered, a patch was issued and database sysadmins decided not to apply that patch. The finger then logically swings toward those DB sysadmins, whom I've already said are innocent.
  17924. *Here's why. If you're running a line-of-business database for a large company, the last thing you do is fiddle with it. Applying patches and updates to such a box is done only in the most despera
  17925. te of circumstances, because the business risk is too great. Pop a Service Pack or patch onto a desktop PC, and if it doesn't work you have to recover one desktop PC. Do the same to one of the company file servers and the impact is greater, but it's still only one server. But apply a patch to a database server, which is typically a single point of failure, and everyone will suffer from its absence. Increased caution goes hand-in-hand with increased risk exposure.
  17926. *As for the worm itself, i
  17927. t got into SQL Server and the Microsoft Database Engine (MSDE) found in a number of desktop applications via port 1434, then propagated from that machine to other random machines. The rate of infection was staggering - in a few minutes, major Internet backbones were saturated with traffic. Analysis shows that these weren't line-of-business SQL Server boxes, but mostly desktop MSDE machines whose users were probably not even aware that they had MSDE installed. 
  17928. *But remember, it had to get 
  17929. a foot in the door to get into a computer. The vehicle of infection wasn't a dodgy email attachment, nor unpleasant hack code downloaded from a porn website. This virus walked up to the front door, opened it and walked right in, and the only reason it could do that was because port 1434 was open on the firewall to external traffic. Read that again carefully - port 1434 was open on the firewall for externally sourced traffic. Unless there was some exceptionally good reason for this port bei
  17930. ng left open - a reason that had been discussed, planned, documented and approved - the person running the firewall had, in my opinion, just signed their letter of resignation. 
  17931. *There appears to be a widely held view - backed by Internet memes, rumours and accepted wisdom - that ports above 1024 are somehow not important and should be left open to incoming traffic. A similar view holds that every port for internally sourced connections (internal to external) should be open. This is appall
  17932. ingly wrong, culpably negligent and dangerous beyond belief. 
  17933. **Are you 'ard enough?
  17934. *So now you get my view on firewalls, and how to harden machines against attacks, internal or external. None of it's difficult or complicated, and no magic or witchcraft is required. Follow these rules and you'll be safe and secure. If you want to break them, go ahead, but please have well-understood and documented reasons for doing so. Breaking them because they're inconvenient should be a sacking offenc
  17935. *Rule 1: every port, from 1 to 65536, for all internal IP addresses to every external IP address, shall be blocked to internally and externally sourced traffic. In your starting configuration, there should be no traffic from inside to outside nor outside to inside. Your firewall acts like a 2in air gap in the network cable.
  17936. *Rule 2: only open a port for a specified, clearly understood and properly documented reason. Therefore, open port 80 for internally sourced connections coming from 
  17937. probably all machines and allow them to connect to all outside sites. Ditto for port 443 for HTTPS. If you route all internal web traffic through a proxy server, you needn't allow every desktop to make a port 80 connection to the outside world - only the proxy server does that. 
  17938. *Rule 3: don't confuse client access with server access. For example, if there's no proxy server, a client will need access via port 80 to the outside world. The email server will require SMTP, both inbound and out
  17939. bound. I can't think of any good reason why a client would need SMTP access through the firewall, and ditto for DNS, SNTP, POP3, FTP and so forth. In a well-designed network, clients talk to servers and servers talk to the outside world. This applies for the Web, via an HTTP proxy, to email via the mail server, to SNTP time services via the main time server and so on. 
  17940. *If you think about it, there are almost no circumstances in which a client should have any direct access at all to the ou
  17941. tside world for normal line-of-business operations. And this might seem obvious, but there should be no access whatsoever, under any circumstances, for external traffic to come directly into a client machine. 
  17942. *Rule 4: VPN tunnels shouldn't be wide open. This is a classic screw-up, and people keep on getting it wrong. If you allow a VPN tunnel from a remote client machine, maybe a PC in someone's home, this is wide open, just as if that machine were on the local network. Do you have any co
  17943. ntrol over the state of this machine? What if it's virus infected? What if it's running some nasty spyware application? Do you really want to let this machine have wide-open access to everything inside your network? Of course not, but most people still set up VPN tunnels from home machines to be wide open and then are surprised when nasty things walk straight in.
  17944. *There's an even more worrying version of this, which I know for a fact hit companies in the City of London. Say you have a clos
  17945. e business relationship with another company and you want to have your database server talk to theirs, and vice versa. The classic solution is set up a VPN tunnel between them - you trust them, they trust you. Now assume that their firewall design is somewhat shaky compared with yours, and they get infected with something nasty. Guess what? It's now on your network too. The solution is stupidly simple - don't leave wide-open connections to unverifiable sources. If this partner company need
  17946. s access to your mail server, open up port 25 to their network and leave everything else blocked. Apply a layered security model so that only the right machines get the appropriate access.
  17947. *There are some applications that place unreasonable demands on the firewall design. NetMeeting is one such, which demands random ports open to allow it to work. If you need to have someone run NetMeeting to an external source, set up a VPN tunnel and shut it down whenever it's not required. Booking fire
  17948. wall access should be planned, just like booking a meeting room. 
  17949. *These rules might sound paranoid, but they're not - those who followed these basics didn't have a single problem with this latest virus. Advice like 'well, maybe we should block port 1434 now', is staggeringly naive. Last week it was 1434, next week it might be 2096. Who knows? You certainly don't. The only secure policy is one that keeps out every single external TCP/IP packet unless it has a genuine, verifiable and accoun
  17950. table reason for being in there, and that every internal TCP/IP packet stays within your network unless it too has a gold-plated reason to be allowed outside. 
  17951. *Yes, the rules are harsh and, yes, they'll break all sorts of half-baked and half-arsed IT business practices. That's a good thing. Some things in life have to be mandatory and good security is one of them. If your firewall and network people disagree, fire them on the spot. Have courage in your convictions and demand that security
  17952.  policy is written down and fully documented, completely justified and can be explained to (and independently verified by) a non-technical person. 
  17953. *The rules don't change for a complex multisite network either - in fact, the need for them becomes ever greater. A corporate client of mine runs these rules as I've described them here and discovered that a satellite office in another country had installed an ADSL line into their local network, which they refused to disconnect. There was only 
  17954. one possible response from head office - they disconnected that remote office from the rest of the company network until the remote office abided by the security policy. This isn't a game, it isn't complicated and there are no excuses. Follow the rules - or go dig potatoes.
  17955. **Trustworthy Computing
  17956. *The SQL Slammer worm infected less than 100,000 systems, but it hit most of those in around ten minutes from the moment it started work. The number of Slammer-infected systems doubled every eig
  17957. ht and a half seconds, which meant that nobody had time to react. If you weren't already protected, you were infected before you could even start thinking about it properly (unless you simply disconnected from the Internet as soon as you discovered the worm was abroad).
  17958. *Could SQL Slammer have been prevented? Yes. Why wasn't it? There are a number of reasons, and Jon Honeyball has covered these above. Failure to apply the Microsoft patch was one, but let's be fair about this - in many case
  17959. s, companies had no idea they even needed to apply that patch. It affected MSDE (Microsoft SQL Server Desktop Engine) as well as SQL Server proper, and there were an awful lot of people out there who didn't even realise they had MSDE installed. Check this URL for a list of Microsoft applications that install MSDE: <A HREF="http://www.microsoft.com/technet/treeview/?url=/technet/security/msdeapps.asp" target="_BLANK">www.microsoft.com/technet/treeview/?url=/technet/security/msdeapps.asp</A>
  17960. *There were also many people who simply never knew the patches existed. Small companies running SQL Server, or an application with MSDE, might well have been unaware that they even had a problem. Windows Update is well known, of course, but it wouldn't have mattered if they were patched to the hilt - according to the Windows Update site - because it doesn't handle server applications. There should be one site that deals with updates, and it should check your system for all updates. For he
  17961. aven's sake, it doesn't take that long. Patch the world please, Microsoft, and get a move on too. 
  17962. *I spoke with Stuart Okin, chief of security for Microsoft in the UK, and recent appointee to the Information Assurance Advisory Council (IAAC), a government-industry joint body dedicated to creating a safe and secure information society in the UK and abroad, about this update/installer issue, and about Microsoft's Trustworthy Computing initiative in general. He had this to say about security
  17963.  matters: 
  17964. *'We recognise that we need to continue to raise the security quality bar of our code. However, there will always be a need to patch software. One of the main focuses for Microsoft over the coming year will be to improve the patch management experience. We will be working hard to reduce the number of installers across our different products and improve the consistency of delivery and quality of documentation. In addition, we continue to improve our proactive and reactive process
  17965. es in dealing with security vulnerabilities, alerts and management.'
  17966. *Trustworthy Computing is to be built upon four ideals - Security, Privacy, Reliability, and Business Integrity - each of which breaks down further into individual components; namely, Design, Default, Deployment and Communications. Thus, you can examine Security by Design, by Default, by Deployment and so on, and can also examine Privacy and the rest under these same headings. Trustworthy Computing is supposed to be a two
  17967. -way street in that you get to make decisions on how much or little of your personal information should be made available. This falls under the Privacy heading, as does control over what people are able to do with your information should you choose to pass it on.
  17968. *Security means that systems must be better protected than they have been up until now, and that mustn't mean you need new systems -  it means Microsoft has an aim to ensure that its software will be more secure out of the box tha
  17969. n it has been so far. Reliability is the term being applied to describe consistent delivery of safe and secure software that doesn't fail on you, and Business Integrity means that Microsoft will be, and I quote, 'clear, open, fair, respectful, and responsive to customers and the public.'
  17970. *In my opinion, that last requirement also means Microsoft has to be far more proactive in ensuring that patches are made available in a more timely manner.  Communications means that the patches shouldn't
  17971.  promptly break something else, and Reliability means that my systems be as safe as they possibly can even before patches are applied (remember that SQL Slammer was totally ineffective against systems with properly configured firewalls, even if the software hadn't been patched). Security ought to mean that I don't need to reboot my line-of-business servers every time I apply a patch and I'd like that to fall under the Default heading please, though it fits equally under Design and Deployme
  17972. *Business Integrity? Everybody has different opinions about this one. Do you trust Microsoft or not? Let's face it - if you use the firm's software, you already trust it. Microsoft has recognised the need for far superior security, far superior software, far superior deployment and more. Recognising the need is one thing, writing documents about it is another, but actually doing it is the thing that counts, and this is what will eventually decide Microsoft's fate in the worldwide softw
  17973. are market. The key is speed. Stuart Okin says Microsoft will be working hard over the coming year to try and reduce the number of installer technologies. That's great news, but while you're working on that please bring the checking technologies under one roof straight away.
  17974. *Create a new Microsoft Update and have it check everything on a system. Even if you get directed off to the different installer mechanisms that are currently in place, having the checks done in one visit will provide 
  17975. a huge jump in the numbers of patched systems worldwide, if only because people will now find out about all the patches that are available. 
  17976. *As I said, trust works both ways: you need to use Windows Update to check for patches to the OS; you have to go and visit Office Update; you need the Microsoft Baseline Security Analyser (MBSA) to check your servers; you need to regularly visit the Microsoft security website. If you don't do any of these, and therefore don't learn how to properly cona_figure your firewalls, you are as culpable as anyone else for whatever new exploit comes along.
  17977. HXTrigger-happy Jon Honeyball polishes his pistol, while David Moss is feeling TrustworthyL
  17978. May 2003X
  17979. 103 (May 2003)i
  17980. Back Office
  17981. that'sA
  17982. neitherG
  17983. nektulosu
  17984. nelson
  17985. nemesisN
  17986. neo-tek
  17987. neolithic
  17988. neomar
  17989. neon[
  17990. neon-green-on-black
  17991. neon-style
  17992. neoplanet
  17993. neoprene
  17994. neotrace
  17995. neoware
  17996. nerds
  17997. nerdyg
  17998. neriaku
  17999. nero's
  18000. nerve
  18001. they'reA
  18002. I+O+O+O+O+O+O
  18003. O+O+O+
  18004. +O+O+OO+O+O+O+O+O+O+O+O+O
  18005. %U%U%U%U%U{
  18006. O+O+O
  18007. O+O+O+O+O+O+O+O+O
  18008. O+O+O+O+O+O+O+O
  18009. O+O+O
  18010. +O+O+O
  18011. +O+O+
  18012. +O+O+O+O+OO+O+
  18013. O+O+O+O+O{
  18014. +O+O+O+O+O+O+O+O+O+OO+O+O+O+O+O
  18015. O+O+O+O+O+P*P+O+O+O+
  18016. +O+O+O+O
  18017. +O+O+OO+O+O+O+O+O+O+O+O+O
  18018. O+O+O+O+O+z
  18019. +O+O+OO+
  18020. O+O+O+O
  18021. O+O+O+O+O+O+O+O
  18022. +O+O+OO
  18023. O+O+O+O+O+O+O+O
  18024. +O+O+O+O+O+O+O+O+O+O+O+O+O+O
  18025. O+O+O+O+O+O+O+O+O
  18026. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  18027. O+O+O+O+O{
  18028. O+O+O+O+O
  18029. O+O+O+O+O+O+O+O
  18030. O+O+O+O
  18031. +O+O+O+O+O+O
  18032. +O+O+O+O
  18033. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  18034. O+O+O+O+
  18035. +O+O+OO+
  18036. O+O+O+O+O+O+O+O
  18037. %U%UI1I1
  18038. +O+O+O
  18039. O+O+O+O+O+O+O+O
  18040. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  18041. O+O+O+O+O+O+O+O
  18042. +O+O+O+O+O+O
  18043. O+O+O+O+
  18044. O+O+O+O+O
  18045. +OO+O+O+O+O+O+O+O+O+O
  18046. OO+O+O+O+O+O+O+O+O+O
  18047. ensuredA
  18048. ensuresC
  18049. ensuringV
  18050. ent/introduction
  18051. entail
  18052. entailed
  18053. enteringV
  18054. enterpriseB
  18055. enterprise-based
  18056. firmlyD
  18057. firmsL
  18058. firmwarej
  18059. firmware-upgradable
  18060. bringingI
  18061. bringsK
  18062. brink
  18063. brinkster
  18064. bugbears
  18065. buggingP
  18066. +O+O+O
  18067. O+O+O+O+O+O+O+O
  18068. +O+O+O
  18069. +O+O+O+O+O+O
  18070. O+O+O+O+
  18071. O+O+O+O+O{
  18072. +O+O+O+O+O+O+O+O
  18073. O+O+O+O+O
  18074. O+O+O+O+O+O+O
  18075. I+O+O+O+O+O
  18076. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  18077. +O+O+OO+
  18078. O+O+O
  18079. O+O+O+O+O+O+O+O+O
  18080. O+O+O+O+O+z
  18081. O+O+O+O+O+O+O+O
  18082. O+O+O
  18083. +O+O+O
  18084. +O+O+
  18085. +O+O+OO+O+O+O+O+O+O+
  18086. O+O+O
  18087. +O+O+OO+O+O+O+O+O+O+O+O+O
  18088. %U%U%+
  18089. O+O+O+O+O+O+O
  18090. +O+OO+O+O+O+O+O+O+O+O+O
  18091. O+O+O+O+O+O+O+O+O+O+O+O
  18092. +O+OO+O+Oz
  18093. +O+O+O+O
  18094. O+O+O+O+O+O+O
  18095. %UI1I1I1I1
  18096. O+O+O+z
  18097. O+O+O+O+O+O+O+O
  18098. O+O+O
  18099. +O+O+O
  18100. +O+O+
  18101. +O+O+O+O+OO+O+O+O+O
  18102. +O+O+O+O+{
  18103. +O+O+OO+O+O+O+O+O+O+O+O+O+O
  18104. O+O+O+O+O+O+O+O
  18105. O+O+O
  18106. +O+O+O+O+O+OO+O+O+O+
  18107. O+O+O+O+O
  18108. +O+O+O+O+O+O+O+OO+O+O+O+O+O+O+O
  18109. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  18110. O+O+O+O+O+O+O+O+O
  18111. O+O+O+O+O+O+O+O+O+O+O+O
  18112. +O+O+OO+
  18113. O+O+O+O+O+O+O
  18114. %UI1I1I1I1
  18115. O+O+O+O+O
  18116. +O+O+O+$
  18117. +O+O+O
  18118. +O+O+O+OO+O+O+O+O+O+O+
  18119. +O+O+
  18120. +O+O+OO+O+O+O+O
  18121. +O+O+O+O+{
  18122. +O+O+OO+O+O+O+O+O+O+O+O+O
  18123. O+O+O+O+O+O+O
  18124. +O+OO+O+O+O+O+O+O+O+O+O
  18125. O+O+O+O+O+O+O+O+O+O+O+O
  18126. +O+OO+O+Oz
  18127. +O+O+O+O
  18128. O+O+O+O+O+O+O
  18129. +O+O+O+O+OO+
  18130. O+O+O+O
  18131. ay from home or the office, with no-one left behind in residence, and you want to have some way of keeping a check on the security of your premises. This obviously applies to both business trips and holidays, but can be equally useful for much shorter time intervals, even for routine overnight stays or daytime absences. Ordinary security alarms are fine, essential even, but any extra security helps (we all can call upon cases of house and office alarms being ignored for hours by passers-by
  18132. *The most obvious solution to this problem is via image capture, but this isn't easy to implement. A cheap webcam takes low-resolution snapshots pretty easily, but it's dumb, requiring an attached PC nearby to be left powered-on to run the camera software, which is too easily disrupted to be reliable. Also, a webcam leaves the captured images on a PC in the office - either the attached one or a file server - which are precisely two of the assets it should be trying to protect. What's m
  18133. ore, accessing these images remotely for peace of mind isn't easy unless you like poking holes in your firewall. My rule with firewalls is don't leave any holes through to the core system for any reason, even though reconfiguring the firewall to allow that would be a breeze (for me).
  18134. *It's certainly possible to find PC software to run with a webcam that intelligently captures images and loads them to an external web server, but that's still a less resilient solution than having a dedicated
  18135.  intelligent camera (if only because I might switch off the PC by mistake). Given that such smart cameras are available for much less than most managers' sign-off limit, this isn't a hard choice to make. I can see no reason to tie up a PC with a dumb webcam any longer. 
  18136. *I've been using an Axis 2120 Network Camera, chosen because it's smart, features motion detection (very useful) and was recommended by friends in the computer security business. Plus, it comes from a company with a decent 
  18137. reputation for dedicated network servers (<A HREF="http://www.axis.com" target="_BLANK">www.axis.com</A>). The Axis 2120 features a network port, a serial modem port (if you need one), a power connector and an adjustable stand. You can get a weather-proof housing if required, but you can't, yet, get it with built-in wireless networking. However, since you'll have to run a cable for power you may as well run a network cable alongside. 
  18138. *Internally, the 2120 runs a version of Linux and a min
  18139. i-web server, and with even a bare-bones installation you can instantly capture still images or motion JPEGs remotely via your web browser. However, you should be aware that the video works with Windows Internet Explorer, but not in a reasonable way with anything else I use (including the Mac version of IE). 
  18140. *Getting to this first stage is pretty easy: unpack the camera and plug it in, then type in a command line on any PC or Unix machine to set the IP address for the camera (using its MA
  18141. C address, which is printed on a sticker on the bottom of the case). This involves creating an arp entry on your machine and associating the camera's MAC address with whatever IP address you want, so that when it boots up the camera can detect that it has been allocated an IP address and use it. For example: arp-s 10.0.1.245 00:40:8c:10:00:86 10.0.1.245 temp
  18142. *The camera also supports BOOTP and DHCP, which you can use if you prefer, but the arp technique is just as fast. There's also a rath
  18143. er more complicated way of setting it up using a null modem cable, but that is a lot more long-winded. 
  18144. *As soon as this is set up, you can access the camera's web server and see whatever it's seeing. Just point a web browser at the camera's IP address and, if it shows an image, it's working and you can start adjusting the system. The same web page is used to configure the camera to get the best possible picture settings, to activate motion detection and to define some accessible location 
  18145. to which to upload the pictures. One warning: the Axis cameras all ship with a default username of 'root' and a password of 'pass' so change them immediately! 
  18146. *On the front page, you should see a link to the administration tools pages, which are password-protected. Before you do anything else, select the links System, then Users and reset the password for 'root'.
  18147. *The next step is to set the camera to only capture images when it detects motion in the target area. In most images, there'll 
  18148. be a lot of irrelevant fluff and only a relatively small area that really matters. You could leave the camera sensing changes over the full image, but I find that triggers more captures than you want. As it is, even changes of light level can trigger a capture, and I was surprised to find that sunrise through a relatively small window was enough to set it off. You should expect that switching artificial lights on and off will also trigger it, while relatively rapid motion through the field
  18149.  of view - such as someone walking quickly past a doorway - won't. 
  18150. *Knowing this, you can plan how best to place the camera so that significant events are always captured. As with any system of this kind, you must test it after it has been set up to be confident it works properly - run it through a full 24-hour cycle at least once before leaving it to its own devices.
  18151. *I found that a long hallway was the central point for all movement in my house, and setting up a single camera pointing a
  18152. long the length of the hall was enough to detect any unauthorised entry, unless it was confined to a single room - it just isn't possible to move from room to room without triggering the camera several times. I had to restrict the view to avoid car traffic outside causing false alarms, but in the event I still wasn't careful enough and my testing wasn't thorough enough - letters dropping through the mailbox set off the alarm, for example.
  18153. **Poetry in Motion
  18154. *Configuring the motion detecti
  18155. on settings is easy. First, go to the Applications | Operation Selection menu and choose Alarm mode so that it will capture images only when triggered, then to the Scheduler menu to set the trigger on 'input rising in the default window'. For motion detection in a subwindow, go to the Applications | Motion Detection menu and use the Java applet to select up to three subframes from the image inside to check for motion. Be careful that you don't move the camera after doing this.
  18156. *I keep my c
  18157. amera firmly behind a NAT router, which in turn is behind a normal firewall, so there's no way that any external access can reach as far as the web server on the camera (nor would I want it to). Hence, I don't need to customise the internal web pages on the camera, but instead need to find an external server. The Axis supports ftp export of files so an ftp server is the obvious route, but I wanted to use Mac.com as I have an account there with enough space free for a reasonable number of i
  18158. mages. However, Mac.com only supports WebDAV, not ftp for file access. To work around this, I set up a fileshare on one of my servers, which mounted my Mac.com iDisk on the server, and set the Axis camera to connect to my server via ftp.
  18159. *The ftp location maps to my public folder on Mac.com, which I browse via my laptop when away from home to see any images captured. The filenames include a time stamp, so I have reasonable information about when events happened. Although it's called a 'pub
  18160. lic folder', I can set access rights on it to require a password to browse files. And if I wish, I can provide web access to the images via the Mac.com home page (although I can't do both of these at the same time).
  18161. *Setting up a simple security system using a smart network camera is easy, taking around an hour from opening the box, and there aren't many catches. I still get false triggers from the post arriving and from sunrise at certain times of year, but at least they reassure me that 
  18162. the system is working. Extending it to permit door monitoring and other applications would be just as easy, and with the audio module that's available I can imagine sitting in a hotel room in Texas having a very confusing conversation with the milkman about why I can't pay his bill right now.
  18163. **Airport Extreme
  18164. *Last month, I mentioned that I believe the next move in wireless networking is going to be to upgrade from 802.11b to 802.11g, but I didn't have much evidence beyond a gut feeling.
  18165.  As so often happens nowadays, real-world events have overtaken me, even before that column hit the street. Apple announced at the beginning of January that it would be updating the ever-faithful AirPort to support 802.11g and would ship the new 17in PowerBook with 802.11g support built in. This offers a vast speed increase at the cost of a minor reduction in range and, given that Apple has said it will be moving the aerial from the PowerBook's base into its lid, this range reduction shoul
  18166. dn't have much impact.
  18167. *In fact, it's likely that, for most applications, a PowerBook will now seem to have much better range. The AirPort Extreme base station, card and 17in PowerBook should all be shipping by the time you read this.
  18168. H?Paul Lynch examines the highs and lows of home security imagingL
  18169. May 2003X
  18170. 103 (May 2003)i
  18171. Mobile Computing
  18172. Brian HeywoodD
  18173. Audio on the hoof
  18174. When I was in Melbourne last year doing some recording, my reliable, though aged, Dell Latitude Portable PC got fried by a lightning strike. Since Dell wasn't prepared to support such an old machine, I had to get a replacement at pretty short notice and ended up with a Compaq Presario, happily 'on special' in the local computer emporium. While it doesn't have a particularly whizzy spec compared with today's state-of-the-art notebook PCs, it's far more powerful than my old Pentium/133 lapto
  18175. OO+O+O
  18176. +O+O+OO+O+O+O+O+O+O+O+O+O
  18177. +O+O+O+OO+O+
  18178. +O+O+OO+O+O+O+O+O+O+O+O+O
  18179. +O+O+O+O+O+O
  18180. O+O+O+O+O+O+O+O
  18181. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+P
  18182. +O+O+OO+
  18183. O+O+O+O
  18184. O+O+O+O+O+O+O+O+O
  18185. +O+Oz
  18186. +O+O+O+O
  18187. O+O+O+O+O+O+O+O
  18188. +O+O+O+O
  18189. +O+O+OO+O+O+O+O+O+O+O+O+O
  18190. +O+O+O+O+O+O
  18191. O+O+O+O+O+O+O+O*+O
  18192. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+P
  18193. +O+O+O+O
  18194. O+O+O+O+O+O+O
  18195. %UI1I1I1I1
  18196. nobody_
  18197. noborder
  18198. nobrainer
  18199. nochex
  18200. noctilux
  18201. nodded
  18202. noddingA
  18203. noddy
  18204. nodeh
  18205. node-based
  18206. nodebug
  18207. nodesI
  18208. nokia-basedu
  18209. nolinerental
  18210. nomad
  18211. nomadworld
  18212. nomenu
  18213. nominal
  18214. nominally_
  18215. nominatex
  18216. nominated
  18217. nominatingx
  18218. nominee
  18219. nominet
  18220. nominet's
  18221. non-acpi
  18222. non-active
  18223. non-alphanumeric
  18224. non-appleD
  18225. non-automated
  18226. non-bt
  18227. non-cabled
  18228. donaldL
  18229. donate
  18230. donatedE
  18231. donationc
  18232. doncaster
  18233. href`
  18234. hresults
  18235. hsbc's
  18236. hscm11
  18237. hscsd
  18238. hspace
  18239. +O+O+O+O+O+{
  18240. OO+O+O
  18241. +O+O+OO+O+O+O+O+O+O+O+O+O
  18242. I+O+O+O+O+O
  18243. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  18244. I+O+O+O+O+O
  18245. +O+O+O+O+O+
  18246. O+OO+O+O+{
  18247. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  18248. +O+O+O+O+O
  18249. I+O+O
  18250. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  18251. +O+O+O+O+O
  18252. I+O+O
  18253. +O+O+O+O+O+O+OO+O+O
  18254. O+O+O+O+O+O+O
  18255. +O+O+OO+O+O+
  18256. O3+OO+
  18257. +O+O+Oz
  18258. OO+O+O
  18259. O+O+O+O+O+O+O+O
  18260. %OO+O+O+
  18261. +O+O+
  18262. +O+O+OO+O+O+O+O+O+O+O+O+O
  18263. +O+O+O+
  18264. +O+O+OO+O+O+O+O+O+O+O+O+O
  18265. %U%U%U%U%
  18266. +O+O+OO+O+O+O+O+O+O+O+O+O
  18267. O+O+O+O+O+O+O+O+O+O
  18268. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  18269. O+O+O+O+O+O+O+O+O+O
  18270. +O+O+O+OO+O+O+O+O
  18271. O+O+O+O
  18272. O+O+O+O+O+O+O+O+O
  18273. reachableF
  18274. reachedD
  18275. reaches
  18276. reachingF
  18277. reactK
  18278. reactedC
  18279. reacting
  18280. reactionO
  18281. extending`
  18282. extends
  18283. extensibility[
  18284. extensibleT
  18285. extensionB
  18286. extensis
  18287. extensis/creativepro
  18288. O+O+O+z
  18289. O+O+O+O+O+O+O+O
  18290. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  18291. O+O+O+O+O+O+O+O
  18292. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+
  18293. O+O+O+Oz
  18294. +O+O+O+O+O+O
  18295. I1I1I1I1I1I1I1I1I
  18296. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  18297. I1I1I1I1I1I1I1I1I
  18298. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  18299. O+O+O+O+O+O+O
  18300. O+O+O+O+O+O+
  18301. +OO+O+O+O+O
  18302. +O+O+O+$
  18303. +O+O+O
  18304. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  18305. O+O+O+O+O+O+O+O+O+O
  18306. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  18307. O+O+O+O+O+O+O+O+
  18308. +O+O+z
  18309. +O+O+OO+O+O+O+O+O+O+O+O+O
  18310. I+O+O+O+O+O
  18311. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  18312. I+O+O+O+O+O
  18313. +O+O+O+O+O+O+OO+O+O+O+O
  18314. O+O+O+O+O+O+O
  18315. +O+O+O+OO+O+
  18316. p and has a much bigger screen as well.
  18317. *I used my old portable mainly for office tasks like word processing and collecting my email, but it didn't have enough power to be considered for any kind of serious audio tasks, apart from MIDI sequencing and perhaps a bit of simple WAV file editing. This was as much due to its dearth of hard disk space (800MB) as to its relatively modest processing power. I did use it on a number of gigs to drive a Yamaha MU-10 MIDI module, basically to provide ba
  18318. cking tracks for an occasional electro-acoustic duo act I did with cellist Saskia Tomkins. 
  18319. *However, MIDI is a far more compact way of representing music than a digital audio wave file, which uses up 10.5MB per stereo minute. Given that my steam-powered portable PC never had more than about 100MB of disk space going spare, this would have allowed the grand total of ten minutes total WAV recording capacity.
  18320. *Now, I have a powerful PC with over 3GB of available hard disk space, and that's a
  18321. fter all the music applications have been installed. You might think I've got the core of a nice little portable multitrack recording system, but sadly it isn't as simple as that.
  18322. **Expand the mind
  18323. *One of the great advantages of a normal desktop or tower PC is that it's easily expandable. Simply drop a specialised PCI interface card into one of its internal slots and you can convert your mundane business PC into anything you fancy. In my (or rather my PC's) case, I've rehabilitated a num
  18324. ber of older machines this way to perform useful tasks in the studio. However, as you'll know, when it comes to portable PCs this useful expandability isn't nearly as easily available due to the physical constraints of the packaging. This means you have far fewer options when it comes to using a portable PC for anything other than normal business applications.
  18325. *A fundamental problem is that the audio hardware fitted in most portables is usually pretty dire - typically a basic chipset integ
  18326. rated onto the motherboard. The connection options are also limited, because connector space is at a premium on the cramped rear panel of your average notebook PC. For instance, my Presario 1200 only has a microphone input and a headphone output. The upshot is that you'll need to buy some dedicated audio hardware add-ons if you want to approach anything near serious music-making on your notebook.  
  18327. *Unlike with a desktop PC, you won't have access to the large number of reasonably priced PC
  18328. I audio interfaces that have become available over the years. It's a real shame because the PCI bus is ideal for high-performance audio, as it can handle very high data rates. These cards are just too large to fit inside the confined spaces of a notebook interior. All is not lost, though - there are options available that plug into PCMCIA/CardBus slots (nowadays called PC Card for added confusion), USB and FireWire ports. Both PC Card/CardBus and USB ports are pretty common on notebooks, w
  18329. ith FireWire increasing in popularity recently, especially on more expensive systems (and Apple iBooks). 
  18330. *I'd rule out USB for audio, for the reasons I discussed in my March column last year. While the data throughput of the USB bus in its fast mode (12Mb/sec) is high enough to handle multichannel audio, both the latency and the fact that the audio device has to compete with other USB devices for bandwidth mean that it would be difficult to ensure good results using this type of interface
  18331. . 'Latency' in this context refers to the interval between the time some real-time event actually occurs - in this case, the sound you're trying to record - and when the computer detects that event. With audio data, delays much above 5ms are noticeable and can seriously affect the usability of the system.
  18332. *Using a CardBus interface looks far more promising, since it has a much more direct route to the underlying PC hardware. CardBus is a 32-bit data bus, which is a development from the 16-
  18333. bit PCMCIA interface standard. PCMCIA stood for Personal Computer Memory Card International Association and was originally designed as a convenient way to add memory to portable computing devices. However, it didn't take long for developers to realise that it could be used for more general interfacing tasks. When the specification was upgraded to 32-bit, CardBus' designers took this interest into account and  enabled it to handle data rates up to 132Mb/sec and offer similar facilities to t
  18334. he standard PCI bus.
  18335. *The final option is the FireWire interface. The latest version can handle data transfer rates up to a maximum of 400Mb/sec while still retaining the ease of connection that you get with a USB system. The standard was originally developed by Apple, but has been taken up by other manufacturers such as Sony (which calls it i.LINK) for transferring digital video between systems, and it has been adopted by the IEEE. 
  18336. *Once this interface becomes almost universal, there sho
  18337. uld be a big market in interfaces that will bring down the price of peripherals considerably. To take advantage of the higher data rates, your notebook PC needs to have FireWire integrated into the motherboard.
  18338. **Nuendo Multiset interface
  18339. *I've been using Steinberg's Audiolink 96 Multiset interface, designed to augment the firm's Nuendo integrated multimedia production environment, which has a CardBus interface. This hardware is basically a rebadged RME product and can be used with any so
  18340. ftware that works with either Windows or Steinberg's ASIO interface standards. In terms of physical connections, the unit provides eight analog audio inputs and outputs - balanced or unbalanced - along with an additional eight inputs/outputs via ADAT Optical Links, plus S/PDIF, word clock, ADAT synchronisation and MIDI-In and Out connectors. 
  18341. *If you want to delve a little deeper, the Multiset is equipped with 24-bit converters, with sample rates up to 96kHz - it's bang up to date with reg
  18342. ard to audio quality. The whole package fits inside a small but robust box (45 x 215 x 120mm), which is essentially a half-width, 1U rack unit. It has a number of power supply options, with an external mains power supply plus cables for connecting the unit to a car cigarette lighter or 12V rechargeable battery. RME says that it thought of powering the unit via the CardBus interface but that its power requirements were beyond the interface specification. To be honest, this isn't the sort of
  18343.  device that you'd operate in environments without some form of auxiliary power being available.
  18344. *The Multiset connects to the Nuendo CardBus interface via a high-speed serial cable, which turns out to be FireWire compatible. This means that if my portable gets fried by lightning again, I'll be able to plug the interface directly into the replacement PC, since FireWire should be fitted as standard by that time. It also raises the interesting prospect of equipping a studio PC with the PCI A
  18345. udiolink 96 interface so you could share this module between studio and location recording tasks.
  18346. **System configuration
  18347. *Multiset's eight line-level inputs and outputs are accessible via 1/4in jack plugs, which can be used in either balanced or unbalanced mode - its audio circuitry automatically detects the type of connection and compensates accordingly. Having only line-level inputs and outputs means you'll have to use the interface with a mixing desk of some kind, especially if you nee
  18348. d equalisation or level-control features. 
  18349. *I could quite easily dedicate this whole column to the various options for doing this, but to be brief, unless you have a mixing desk designed for multitrack recording, the easiest option is to use either the direct channel outputs or the channel insert points to tap into the individual audio signals before they get mixed down to stereo. 
  18350. *On the Mackie CR-1604 mixing desk I use for live work, I can use the insert points on the first eight channe
  18351. ls to do this. Obviously, the quality of the mixer will have a major impact on the quality of the recorded sound, but so long as the desk is electrically quiet, you should be able to get good results. The Mackie CR-1604 - for all its other shortcomings - gives a very 'clean' sound, which makes it a good choice for this kind of application. The Multiset also provides a good set of interface-level options on internal jumpers, which allow you to match its input and output signal levels to tha
  18352. t of the mixer.
  18353. **Software issues
  18354. *To be able to use this kind of hardware, your audio application needs to have two important features. The first is that it should be able to playback audio in some kind of multitrack mode. This is equivalent to the 'arrange' window common in sequencers like Cakewalk or Cubase and allows you to display and record the new audio alongside existing tracks. The other requirement is that the software has to be able to record multiple tracks simultaneously, whi
  18355. ch should be true of all but the most basic of audio packages.
  18356. *Although the Multiset is obviously packaged to augment Steinberg's Nuendo software, there's nothing to stop you using the device with any software that can recognise and use multiple audio inputs. As I don't have a copy of Nuendo, I've been using the Multiset with Cool Edit Pro in its multitrack mode, and I also had a brief excursion into using it with Cubase SX. 
  18357. *Despite it being an older version of the software, I found tha
  18358. t Cool Edit Pro worked well, giving an intuitive recording session feel, simply by selecting the desired input channels and then putting them into record mode. 
  18359. *Cubase SX was also simple to set up, but it obviously needs a more highly specified PC than I have, since it wouldn't reliably record four simultaneous tracks without losing data. This difference in performance may be related to the fact that Cool Edit was originally written for the PC, whereas Cubase has been ported from the Appl
  18360. e Mac. I plan to see how SAWStudio and Cakewalk's Sonar behave, since they're both dedicated PC packages.
  18361. **NoExcuses guides
  18362. *At last year's Mad About Music show at Birmingham's NEC, I picked up a couple of PC CD-ROMs that were promoted as a comprehensive guide for guitarists and bass players. Ever since I started writing for the computer press, I've been on the look out for effective multimedia publications that take true advantage of the technology, and these two CD-ROMs come pretty clo
  18363. se to it - just slip the disc into your CD-ROM drive and a useful little multimedia guitar handbook pops up. 
  18364. *While these publications could never be described as being encyclopaedic in their scope, they do have a wealth of useful information, utilities and 'music minus one' jam-along features. For instance, there's a handy little transposing utility, plus tips and tricks about the care and feeding of your guitar or bass. 
  18365. 17.99 each, they seem like a bargain to me. See <A HREF="http
  18366. ://www.noexcusesguides.com" target="_BLANK">www.noexcusesguides.com</A> for more information.
  18367. **Tips & tricks 
  18368. *One useful trick when using a digital delay in a mix-down session is to select a delay time that's related to the tempo of the track that you're recording. This technique can add 'punch' to the track and prevents the delay from making the mix muddy, because it tends to reinforce the rhythmic elements rather than competing with them. While it's not a particularly onerous task to 
  18369. calculate the required delay, I've just come across a little freeware utility called Delay Calculator on the Steinberg support website. 
  18370. *Written by Ian Price, this useful little program lets you enter the tempo, the note type (crotchet, quaver, minim and so on) and then displays the time delay that this implies. You can even select a triplet time. The entire program has a file size of just 340KB and so won't take long to download, even if you're using a modem. Just pop it on your desktop 
  18371. and fire it up whenever you need to work out a delay. 
  18372. *You can download the application from the Steinberg FTP Server at <A HREF="ftp://ftp.steinberg.net/download/pc/dtc/DELAYC_1.EXE" target="_BLANK">ftp://ftp.steinberg.net/download/pc/dtc/DELAYC_1.EXE</A>
  18373. H`Today's portable PCs have more computing power than ever. Brian Heywood shows how you can use itL
  18374. May 2003X
  18375. 103 (May 2003)i
  18376. MULTIMEDIA:AUDIO
  18377. Steve CassidyD
  18378. eBay inferno
  18379. EBay is, I can exclusively reveal to PC Pro readers, the spawn of the devil. Say you work in a small company with a small network. Well, you're only about three mouse clicks away from an eBay listing that's crammed full of the choicest plums from the last generation of major corporate network equipment. Stuff that normally arrives on a pallet or, at the very least, with an engineer can be yours for the plucking at something like a tenth of the original retail cost.
  18380. *What horrendous temptat
  18381. +O+O+O+O+O+O+OO+O+O
  18382. O+O+O
  18383. O+O+O+O+O+O+O+O+O
  18384. +O+O+O+$
  18385. +O+O+O+O+O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O,N,O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O,N,O+O+O+O+O+O+O+O+O+O+O+O+
  18386. O+O+O
  18387. O+O+O+O+O+O+O+O
  18388. +OO+O+O+O+O
  18389. +O+O+O+$
  18390. +O+O+O
  18391. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  18392. O+O+O+O+O+O+O+O+O+O
  18393. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  18394. O+O+O+O+O+O+O+O+
  18395. +O+O+z
  18396. +O+O+OO+O+O+O+O+O+O+O+O+O
  18397. I+O+O+O+O+O
  18398. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  18399. I+O+O+O+O+O
  18400. +O+O+O+O+O+O+OO+O+O+O+O
  18401. O+O+O+O+O
  18402. O+O+O+O+O+O+O+O
  18403. cellpaddingQ
  18404. cellphone
  18405. cellphones
  18406. cellrect
  18407. cellsQ
  18408. cellspacingQ
  18409. cellstyle
  18410. celluloid
  18411. cellulose
  18412. cellwidth
  18413. celsius
  18414. celtic
  18415. cement
  18416. censorshipc
  18417. ceremonies
  18418. certainA
  18419. certainlyA
  18420. certificate
  18421. certificates]
  18422. certificationA
  18423. expandablea
  18424. expandedC
  18425. expander
  18426. expandingr
  18427. expandsG
  18428. expanse
  18429. expansionC
  18430. OO+O+O+O+O+O+O+P*P+O+O+O+O+O+O+O+O+O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+P*P+O+O+O+O+O+O+O+O+O+O+O+O+O+O+OO+O+O+O+O+O+O+
  18431. O+O+P*P+O+O+O+O+O+O+O+O+O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+P*P+O+O+O+O+O+O+O+O+O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+P*P+O+O+O+O+O+O+O+O+O+
  18432. O+O+O+O+O+O+O+O
  18433. %U%UI1I1
  18434. +O+$+$
  18435. +O+O+O+O+OO+O+O+O+O+O+O+O+O+P*P
  18436. OO+O+O+O+O+O+O
  18437. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+P*P
  18438. OO+O+O+O+O+O
  18439. O+O+O+O+O+O+O+O+O+O+O+O+O
  18440. %UI1I1I1
  18441. I1I1I1I1I1I1I
  18442. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  18443. %UI1I1I1I1I1I1I1I1I1I
  18444. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  18445. %UI1I1I1I1I1I1I1I1I1I
  18446. O+O+O+O+O+O
  18447. +O+O+O+O+O+O+O+O
  18448. %UI1I1I1I1I1I1I1I1I1I
  18449. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  18450. %UI1I1I1I1I1I1I1I1I1I
  18451. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  18452. %UI1I1I1I
  18453. 1I1I1I1I1I1I
  18454. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  18455. +O+O+O+O
  18456. O+O+O
  18457. O+O+O+O+O+O+O+O+O
  18458. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  18459. O+O+O+O+O+O+O
  18460. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  18461. O+O+O+O+O+O+O+O+O
  18462. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  18463. O+O+O+O+O+O+O+O+O
  18464. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  18465. O+O+O+O+O+O+O+O+O
  18466. O+O+O+O+O+O+O+O+O+O+O+O
  18467. +O+O+O
  18468. O+O+O+O+O+O+O+O+O
  18469. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  18470. O+O+O+O+O+O+O+O+O
  18471. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  18472. O+O+O+O+O+O+O+O+O
  18473. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  18474. O+O+O+O+O+
  18475. OO+O+O+
  18476. O+O+O+O
  18477. O+O+O+O+O+O+O+O
  18478. O+O+O+O+O+O+O+O+O+O
  18479. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  18480. O+O+O+O+O+O+O+O+O+O
  18481. +O+O+O+OO+O+O+O+O+O+O+
  18482. O+O+O
  18483. O+O+O+O+O+O+*{
  18484. O+O+O+O+O+O+O+O+O+O
  18485. O+O+O+O+O+O+O+O
  18486. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  18487. O+O+O+O+O+O+O+O
  18488. +O+O+O+O
  18489. O+O+O
  18490. O+O+O+O+O+O+O+O+O
  18491. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  18492. O+O+O+O+O+O+O+O+O
  18493. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  18494. O+O+O+O+O+O+O+O
  18495. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  18496. O+O+O+O+O+O+O+O+O
  18497. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  18498. O+O+O+O+O+O+O+O+O
  18499. O+O+O+O+O+O+O+O+O+O+O+O
  18500. +O+O+O
  18501. O+O+O+O+O+O+O+
  18502. OO+O+O+O+O+O
  18503. +O+O+O
  18504. I1I1I1I1I1$
  18505. ,O+O+OO+O+O+O+O+O+O+O+O+O+O+O+O+O
  18506. +O+O+OO+O+O+O+O+O+O+O+O+O
  18507. O+O+O+O+O+O
  18508. +O+O+OO+
  18509. O+O+O+O+O+O+O
  18510. %UI1I1I1I1I1I1I1I1I1I
  18511. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  18512. %UI1I1I1I1I1I1I1I1I1I
  18513. fastcgiR
  18514. fastcode32
  18515. fasten
  18516. fastening
  18517. fasteningsY
  18518. fasterE
  18519. favouritismC
  18520. favours
  18521. faxedY
  18522. faxers
  18523. sampledN
  18524. samplegrabber
  18525. sampler[
  18526. samplers
  18527. samplesN
  18528. samplevision
  18529. samplingV
  18530. samson
  18531. samspadeG
  18532. samsung
  18533. samsung's
  18534. samurais
  18535. san-consolidatedp
  18536. sanction
  18537. sanctioned
  18538. sanctions
  18539. sanctum
  18540. sand-boxed
  18541. sandal-wearingZ
  18542. sandbox
  18543. jack-of-all-tradesX
  18544. jacketD
  18545. jacketed
  18546. jackhammer
  18547. jackhammers
  18548. jackie
  18549. jacks
  18550. jackson
  18551. jacob's
  18552. jacobson
  18553. jacuzzi
  18554. jagged
  18555. jaggies
  18556. jaguar
  18557. jagwire
  18558. jakarta
  18559. jakarta-tomcat-4
  18560. jakes
  18561. jakob
  18562. jalda
  18563. jalda-enabled
  18564. jam-alonga
  18565. james
  18566. jamie
  18567. jammed
  18568. jammer
  18569. jamming
  18570. jet-based{
  18571. jewel~
  18572. jga's
  18573. jgaconsult
  18574. jgoodies]
  18575. jibesC
  18576. jiggleu
  18577. jigsawW
  18578. jitterl
  18579. jitteryl
  18580. jmpgM
  18581. jmpg/jmpg123M
  18582. jmpg123M
  18583. jnlp\
  18584. joanne
  18585. calculating^
  18586. calculationV
  18587. calculationsA
  18588. calculatorG
  18589. calculators
  18590. calcutta
  18591. caldera
  18592. caldera's
  18593. calendarU
  18594. calendaringh
  18595. calendarsL
  18596. calibrate
  18597. Davey WinderD    Spam head
  18598. In 1637, the French philosopher and mathematician Ren
  18599.  Descartes wrote in his Discourse on Method that 'I think, therefore I am'. Had he been alive today and writing a discourse on Internet marketing methodology, there's a good chance he'd change that to 'I don't think, therefore I spam'.
  18600. *Last month, while writing about spyware, I hinted that I'm not convinced much thought is given to demographics when the average new media marketer lets rip with whatever bulk mailer is the flavour of the
  18601. ions: great wobbling piles of Compaq ProLiant 3000 servers for 
  18602. 400 each; an HP 4000M (a modular Ethernet switch able to mix and match fibre, copper, 10 and 100Mb, all blindingly fast) for 
  18603. 500; and Dell PowerEdge servers at the same price, whose original ticket value would have been 
  18604. 7,000 or more.
  18605. *Most products aimed at the 'small business' marketplace have always been nasty, underpowered things with features chopped off according to a marketing rationale hellbent on preserving sector d
  18606. istinctions. So we get small business servers with IDE disks, and it's extra if you're in a medium-sized business and 'deserve' a RAID controller. Of course, the larger enterprises need Storage Area Networks, and that's Ferrari money before you even get started.
  18607. *I've devoted many words in this column to telling people how I think this is dreadfully misconceived, because smaller businesses actually work their hardware far harder than big businesses ever do. In a large operation, it's one j
  18608. ob per server, whereas small companies seldom have the luxury of running three or four separate machines to move their email, serve their files and dish up their SQL data.
  18609. *For these reasons, I approve, in theory, of having access to recently retired 'big iron' equipment. Unless you're doing vast SQL runs or holding hundreds of thousands of word-processed documents online, you'd be hard pushed to tell the difference between a dual 700 and a dual 2.2GHz Xeon in a moderately busy network. An
  18610. yway, the hardware that pushes the data to you isn't the processor of the server; it's the RAID controller. 
  18611. *A three- or five-year-old RAID card that cost 
  18612. 1,500 new  will outperform a modern IDE drive in a multi-user scenario, because that's what it was built to do. Better still, pairing up modern SCSI drives with these older controllers gives the performance even more of a boost. It will also allow you to sleep better at night instead of relying on disks that - in the case of one server
  18613.  I recently decommissioned - have been running with their disk access light permanently on for the last two and a half years. 
  18614. *What's so wrong with pillaging eBay then? Why am I not an unreserved fan? Because the process of making worthwhile use of a large last-generation server isn't as straightforward as it might seem. There are several parts of the equation that won't jump out at you from the auction pages, and even though the majority of these systems will come to you from specialist 
  18615. remarketing and maintenance companies, it's surprising how many little necessities still fall through the cracks:
  18616. *Drive dilemmas While I did say you can usually upgrade the SCSI disks in an older server, a huge number of 'corporate' machines like the old Compaq ProLiant 3/5/6/7000 series only ever ran with two or three SCSI disks installed. The drive cages for these are model-specific, or at least range-specific. Only quite recently has Compaq gone over to a completely consistent size and
  18617.  fitting for its drive cages, and Dell still hasn't got there, actually going backward in some ranges by becoming even more inconsistent. Yes, it's possible to take an old drive enclosure, rip the mechanism out of it and install a bigger disk, but if you want five or six 18GB disks, and the machine you buy for 
  18618. 500 has only three drives, be prepared to spend up to 
  18619. 150 per enclosure to get what you need from the spares departments.
  18620. *Configuration conundrums Bigger servers deliver their hig
  18621. her performance and resistance to load-related slowdowns by using custom hardware that diverges from the de facto standard embodied in your server OS (Windows NT or 2000) setup CDs. Such divergences can be extreme and a royal pain to identify, which is why server vendors make your life easier by including setup CDs with their servers. After several years in a computer room, then decommissioning and bouncing around in back of the 21st century equivalent of Old Man Steptoe's knacker-cart, th
  18622. e chances of that setup CD still being with the server are slim at best. Oddly enough, while there are active hardware spares markets for most leading brands, none of them make the effort to keep these setup CDs available, and they're seldom downloadable from vendor sites.
  18623. *Memory I lose track of this issue, because I'm so frequently immersed in it, and every so often when I come across a genuinely small network it jumps out to bite me again. Real servers tend to use registered or ECC (or 
  18624. both) memory to guard against certain rather theoretical types of failure as well as to run faster than you'd expect in conjunction with all that custom hardware on the motherboard. So you can't just feed these dinosaurs the same kind of memory as you put in most of your workstations. In the case of my favourite fossil server, HP's Netserver LC3, if you put in non-HP DIMMs, even of the right specification, the BIOS spits out disapproving messages on startup about your warranty being in per
  18625. il. Of course, the machine still works, but it would be anathema to those contract-writing support types who buy and use these servers from new.
  18626. *Processor pains Incredible as it seems if you've ever run a dual-processor machine, few of these ex-corporate boxes come with their full possible complement of CPUs. Considering that multiprocessing is the main reason for distinguishing between these and jumped-up workstations, that's unbelievable but true. Lots of large corporate server purchase
  18627. rs are unfamiliar with the idea of multiprocessor computing (which maybe explains why they buy so many servers). 
  18628. *But the upshot for a prospective second-hand buyer is that you have to go out and buy a processor for yourself more often than not, and some of these are in short supply. Worse still, Compaqs, HPs and several other brands have plug-in Voltage Regulator Modules, and if the second (and subsequent) CPUs aren't fitted, you're back to eBay or some other source for that missing part
  18629. . And prices for these parts - as for extra disks, if you go back to the 'official' channels - can be steep. A Xeon 700 with 2MB of cache, which on paper ought to be a museum piece by now, can sting you for over 
  18630. 500 because it will go into and speed up so many of these 50kg monsters.
  18631. *Heat stress This sounds trivial, but it's not. The older servers consume so much power they expect to be fed from two or three mains outlets, as well as having all that heat conducted away, preferably by a h
  18632. ulking great air-conditioning unit. Some of the earliest rack-mount, slimline Compaq servers, for example, will shut down on heat-protection grounds if you run them with their lids off for more than about 20 minutes - the lid is an integral part of the cooling system.
  18633. *Passwords Yes, really. I've had plenty of plaintive emails from people who've bought big network switches in particular, asking me how to reset the passwords on the management interface. There's no guarantee that you can get
  18634.  rid of a password on any particular piece of kit. Don't forget the cautionary tale of IBM ThinkPads that have BIOS passwords so uncrackable that those belonging to forgetful users become instant landfill - it isn't a myth, and isn't restricted to ThinkPads. 
  18635. *If you can't get into the management and configuration console of a switch that offers such a thing, those ports that have been set to custom configurations won't be modifiable. They may not autonegotiate, or they may be teamed toget
  18636. her in some ancient implementation of a VLAN or fault-tolerant interconnect, and you won't be able to wrench them free of that mode by putting 40kg of network hardware in a meat freezer overnight.
  18637. *The final indignity with eBay is that auction prices often manage to creep right up to the actual value of a new replacement, but the auction experience can carry you away with the competitive enthusiasm of the chase. You need to factor in the growing presence of secondary channels too. In parti
  18638. cular, I have in mind the Dell Outlet. Sneak through the Dell website (making sure you start at the .co.uk version, not the US one and avoid the 'hot offer' graphics) until you can see the Dell Outlet button on the left-hand side. There's a not-so-slick list that lets you click on the machine specifications - but doesn't go any further - of servers at prices that overlap thoroughly with the top end of the traders on eBay.
  18639. *Looking at the situation from the other end of the telescope, I've 
  18640. recently been working on a server room overhaul in the sort of environment where all that eBay 'stock' comes from. It's the kind of space in which you need to know not just what your server is called, but also its aisle number and cabinet ID just to get the keys to reach the back and turn off the power. Here, we wound up with four servers, even though we had only installed two in the dim and distant past, but we replaced even our initial two with just one: a full-size Compaq rack-mount 570
  18641.  with twin 2GHz Xeons. The advantage of this replacement was much more than just the simple increase in speed: the temperature sensors in the rack showed that the new server ran several degrees cooler than the old ones could manage while supporting nearly four times the original planned throughput. So what's all this got to do with the Dell Outlet? 
  18642. *Simply that for another project a few days later I was pricing up the same size of Compaq for maximum expandability and the same duration of 
  18643. service contract we'd got used to, but yet another project reared its head and I happened to take a look around the Dell Outlet. There was a PowerEdge 2650 - dual Xeon 2.2, RAID controller and some disks - for 
  18644. 1,800, which is only 
  18645. 300 more than the price of the RAID card alone fitted to those other Compaqs now hidden in aisle 13, racks 11 and 12, floor 6 of that other server room. 
  18646. *Before someone ritually murders me for over-buying on one job and under-buying on the other, the Dell is a
  18647.  much more limited beast than the Compaq: it's a 1U rack-mount device with fans worthy of NASA to cool the Xeons, and three drives is all you're going to get inside it. In a big LAN, it would have a limited range of roles, but in the smaller LAN it now lives in, it's almost the fastest machine on the roster.
  18648. *The moral of all this is that it's less and less sensible to follow the vendor's advice about what you ought to be buying for your designated 'business sector'. As hardware speeds risW
  18649. e and the recession fills up the marketplace with overstock and failed orders, it's interesting to see what these unconventional sources can offer you, but not without adequate research.
  18650. HNSteve Cassidy looks at the unwanted surprises that Internet auctions may bringL
  18651. May 2003X
  18652. 103 (May 2003)i
  18653. Networks
  18654. %U%U%UI1I1I1I1I2H2I1I1I1I1I1I1I1I1I1I1I
  18655. 1I1I1I1I1I1I
  18656. O+O+O+O+*
  18657. ,N,O+OO+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  18658. +O+OO+O+O+O+O+O+O+O+O+O
  18659. O+O+O+O+O+O+O+O+O+O+O+O
  18660. +O+OO+O+O+O+O+O+O+
  18661. O+O+O
  18662. +O+O+O+O+OO+O+O+O+O+O+O+O+O+P*P
  18663. O+O+O+O+O+O+O
  18664. +O+O+O+OO
  18665. OO+O+O
  18666. +O+O+OO+O+O+O+O+O+O+O+O+O
  18667. I+O+O
  18668. +O+O+O+O
  18669. O+O+O+O+O+O+O
  18670. %UI1I1I1I1I
  18671. +O+O+O
  18672. +O+O+OO+O+O+O+O+O+O+O
  18673. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  18674. %U%U%U%U%U%U%UI1
  18675. I1J0J1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I
  18676. O+O+O+O+O+O+O+O+O
  18677. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  18678. %U%U%U%U%U%U%UI1I1J0J1I1I1I1I1I1I1I1I1I1I1
  18679. I1I1I1I1I1I
  18680. O+O+O+O+O
  18681. O+O+O+O+O+O+O+O+O
  18682. O+O+O+O+O+O+O+O
  18683. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  18684. O+O+O+O+O+O+O+O
  18685. O+O+O+O+O+O+O+O+
  18686. O+O+O+O+O
  18687. +O+O+OO+O+O+O+O+O+O+O+O+O
  18688. %U%U%+
  18689. O+O+O+O+O+O+O
  18690. +O+OO+O+O+O+O+O+O+O+O+O
  18691. O+O+O+O+O+O+O+O+O+O+O+O
  18692. +O+OO+O+Oz
  18693. +O+O+O+O
  18694. O+O+O+O+O+O+O
  18695. +O+O+O+O+OO+O
  18696. %U%U%U
  18697. +O+O+OO+O+O+O+O+O+O+
  18698. +O+O+OO+O+O+O+O+O+O+O+O+O
  18699. O+O+O+O+O+O+O+O+
  18700. +O+O+O+OO+O+O+O+O+O+O+O
  18701. pluckingb
  18702. plucky
  18703. plugD
  18704. plug-in's
  18705. plug-in-based
  18706. plug-in-specific
  18707. plug-in-supplied
  18708. plug-insH
  18709. exclusively
  18710. reveal
  18711. readers
  18712. spawnb
  18713. ebay's
  18714. ebay-style
  18715. ebayavail&ebaytag1co
  18716. ebayers
  18717. ebaytag1
  18718. ebookH
  18719. ebooksW
  18720. ebrahimi
  18721. ebullientT
  18722. ec-wide
  18723. ecards
  18724. ecats
  18725. ecbill
  18726. eccentric
  18727. eccentrica
  18728. eccentricitiesl
  18729. eceilidh
  18730. ecf-42v
  18731. echoed
  18732. echoes
  18733. echoing
  18734. echos
  18735. echr's
  18736. edging
  18737. edict
  18738. edificeY
  18739. edirectory
  18740. edirol
  18741. editI
  18742. ethernet-connected]
  18743. ethernet-equipped
  18744. ethernet-presentedY
  18745. ethernet-to-dsl
  18746. ethernet/fibre
  18747. ethernets
  18748. ethic
  18749. ethical
  18750. ethnic
  18751. ethos
  18752. etiquette
  18753. etoys
  18754. etracks
  18755. etype
  18756. eu-wide
  18757. eudora
  18758. eudora's
  18759. smallestB
  18760. smallicon
  18761. smallish
  18762. smalltalkM
  18763. smartQ
  18764. smart-2dh
  18765. smart-arse
  18766. smart-ups
  18767. smartboard
  18768. smartboardxp
  18769. smartcellect
  18770. smartclip
  18771. smartclips
  18772. smartcode
  18773. smartcode's
  18774. smartcodesoft
  18775. smartcreds
  18776. smartdisk
  18777. smartensk
  18778. smarter
  18779. smartest
  18780. smartglove
  18781. hardlyD
  18782. convenienceH
  18783. conveniences
  18784. convenientH
  18785. convenientlyd
  18786. conventionX
  18787. conventional]
  18788. conventional-looking
  18789. converterJ
  18790. converter's
  18791. convertersN
  18792. theoryb
  18793. theory's
  18794. ,N,O+OO+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  18795. +O+OO+O+O+O+O+O+O+O+O+O
  18796. +O+O+O+O+O+O
  18797. I+O+O+O+O
  18798. +O+O+O+O+O+O+O
  18799. O+O+O+O+O
  18800. OO+O+O+O
  18801. +O+O+O+O+O+O
  18802. +O+O$
  18803. O+O+O+O+O+O+O+O+O
  18804. +O+OO
  18805. +O+O+O+
  18806. +O+O+O+O+O+O
  18807. I1I1I1I1I1I
  18808. +O+O+O+O
  18809. O+O+O+O
  18810. O+O+O+O+O+O+O+O+O
  18811. +O+O+O
  18812. +O+O+OO+O+O+O+O+O+O+O
  18813. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  18814. O+O+O+O+O+O+O
  18815. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  18816. O+O+O+O+O+O+O+O+O
  18817. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  18818. O+O+O+O+O+O+O+O+O
  18819. +O+O+O+O+OO+O
  18820. +O+O+O+O
  18821. +O+O+O+O
  18822. O+O+O+O+O
  18823. O+O+O+O+O+O+O+O+O
  18824. O+O+O+O+O+O+O+O
  18825. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  18826. O+O+O+O+O+O+O+O
  18827. O+O+O+O+O+O+O+O+
  18828. O+O+O+O+O
  18829. +O+O+OO+O+O+O+O+O+O+O+O+O
  18830. O+O+O+O+O+O+O
  18831. +O+OO+O+O+O+O+O+O+O+O+O
  18832. %U%UI1I1I1I1I1I1I1I1I1I
  18833. O+O+O+O
  18834. +O+O+OO+
  18835. O+O+O+O+O+O+O
  18836. %UI1I1I1I1I
  18837. +O+O+O
  18838. +O+O+OO+O+O+O+O+O+O+O
  18839. +O+O+OO+O+O+O+O+O+O+O+O+O
  18840. %U%U%U%U%U%U%UI1I1I1I
  18841. 1I2H2I1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I
  18842. O+O+O+O+O+O+O+O
  18843. +O+O+OO+O+O+O+O+O+O+O+O+O
  18844. %U%U%U%U
  18845. +O+O+O+OO+O+O+O+O
  18846. +O+O+O+O+{
  18847. +O+O+OO+O+O+O+O+O+O+O+O+O+O
  18848. I+O+O+O+O+O+O
  18849. +O+O+O
  18850. +O+O+
  18851. +O+O+OO+O+O+O+O+O+O+O+O+{
  18852. +O+O+OO+
  18853. O+O+O+O+O+O+O
  18854. +O+O+OO+O+O+O
  18855. +O+O+O+OO+O+O+O+
  18856. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  18857. %U%U%U%U%U%U%UI1
  18858. I1J0J1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I
  18859. O+O+O+O+O+O+O+O+O
  18860. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  18861. %U%U%U%U%U%U%UI1I1J0J1I1I1I1I1I1I1I1I1I1I1
  18862. I1I1I1I1I1I
  18863. O+O+O+O+O
  18864. O+O+O+O+O+O+O+O+O
  18865. O+O+O+O+O+O
  18866. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  18867. O+O+O+O+O+O+O+O
  18868. O+O+O+O+O+O+O+O+
  18869. O+O+O+O+O
  18870. +O+O+OO+O+O+O+O+O+O+O+O+O
  18871. %U%U%+
  18872. O+O+O+O+O+O+O
  18873. +O+OO+O+O+
  18874. +O+O+O
  18875. +OO+O+O+O+O+O+O+O+O+{
  18876. +O+O+OO+
  18877. O+O+O+O
  18878. O+O+O+O+O+O+O+O+O
  18879. +O+O+OO+O+O+O+O+O+O+O
  18880. +O+O+OO+O+O+O+O+O+O+O+O+O
  18881. %U%U%U%U%U%U%UI1I1I1I
  18882. 1I2H2I1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I
  18883. O+O+O+O+O+O+O+O
  18884. +O+O+OO+O+O+O+O+O+O+O+O+O
  18885. %U%U%U%U%U%U%UI1I1I1I1I2H2I1I1I1I1I1I1I1I1I1I1I
  18886. 1I1I1I1I1I1I
  18887. O+O+O+O+*
  18888. +O+O+O
  18889. I1I1I1I1I1I1I1I1I
  18890. +O+OO+O+O+O+O+O+O+O+O+O
  18891. OO+O+
  18892. +O+O+OO+O+O+O+O+O+O+O+O+{
  18893. +O+O+OO+
  18894. O+O+O+O+O+O+O
  18895. O+O+O+O+O+O+O
  18896. +O+O+O+O+OO+
  18897. +O+O+OO+O+O+O+O+O+O+O
  18898. %U%U%U%U
  18899. +O+O+OO+O+O+O+O+O+O+O+O+O
  18900. O+O+O+O+O+O+O+O+O
  18901. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  18902. O+O+O+O+O+O+O+O+O
  18903. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  18904. O+O+O+O+O+O+O+O+O
  18905. +O+O+O+O+OO+O+O+O+O+O+O+O+O+
  18906. O+O+O+O+O+O+O+O+
  18907. O+O+O+O+O+O
  18908. O+O+O+O+O+O+O+O+O
  18909. +O+O+
  18910. +O+O+O+
  18911. O+OO+O+O+O+O+VO+O+O+O+O{
  18912. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O
  18913. O+O,N,O+O+O+O+O+O+O+O+O+
  18914. +O+O+OO
  18915. +O+O+OO+O+O+O+O+O+O+O+O+{
  18916. +O+O+OO+
  18917. O+O+O+O+O+O+O
  18918. +O+O+O+OO+O+O
  18919. +O+O+O+O+O+O
  18920. +O+O+O+O+O+O
  18921. +O+O+O+O
  18922. +O+O+O+O+O+O
  18923. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+
  18924. +O+O+O+O+O+O
  18925. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  18926. +O+O+O+O+O+O
  18927. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  18928. +O+O+O+O+O+O
  18929. +O+O+O+MO+O+O+OO+O+O+O+O+O+O+
  18930. O+O+O+O+O+O
  18931. O+O+O+O+O+O+O+O+O+
  18932. +O+O+O
  18933. +O+O+
  18934. underliesA
  18935. underlineh
  18936. underlinedy
  18937. underlinesh
  18938. underliningU
  18939. underlyingH
  18940. understands~
  18941. understatedA
  18942. understatement
  18943. understoodA
  18944. undertake
  18945. undertaken
  18946. vendorsT
  18947. vendorweb
  18948. veneer
  18949. venerable
  18950. venerate
  18951. venerated
  18952. venerators
  18953. venetian
  18954. vengeance]
  18955. venice
  18956. venkatesh
  18957. venom
  18958. ventilated
  18959. ventilation
  18960. venting
  18961. internetb
  18962. internet-searching
  18963. internetmeister
  18964. internetmeister
  18965. davey
  18966. winder
  18967. doctor's
  18968. into]
  18969. intones
  18970. intranet
  18971. intranets
  18972. intriguing
  18973. introduces
  18974. introducing
  18975. intruders
  18976. invents
  18977. investigate
  18978. investigatesH
  18979. investigating
  18980. investigation
  18981. investigatory
  18982. inveterate
  18983. invites
  18984. involvedB
  18985. ipaqs
  18986. ipcalc
  18987. irate
  18988. ironed
  18989. irrational
  18990. Tom ArahD
  18991. Gamut warning
  18992. Computer-based design for print looks as though it should be simple, as all it involves is moving the colours you see on screen onto paper. But, as anyone who's tried producing commercial print knows, controlling colour is anything but simple - disappointment is the rule rather than the exception. Why is it so hard, and how can it be made easier?
  18993. *First, you need to think about exactly what colour is. Your perception of colour depends on the way your eye's photo-sensitive receptor cells - 
  18994.  day. Indeed, the people who try to sell these spamming tools use a scattergun approach themselves - promising 10 million email addresses, often more - which is a good indicator of how little these messengers understand their medium.
  18995. *Having a high(ish)-profile email address doesn't help, as I get picked up by the spambot trawlers due to mentions on various websites over which I have no control, and the idiot brigade find it amusing to use my names when signing up for their free porno tour
  18996.  or registering for some forum or other. On an average day, once the US has woken up, I see a steady flow of 200 to 300 spams - that's around 2,000 per week. Being just an 'ordinary' Internet user doesn't hide you from the menace, though, as a friend who is careful about the addresses he uses and where he uses them tells me he gets around 100 spams a day. 
  18997. *Junk email is becoming a serious threat to the way we work and play online, especially when so much of it's obscene, fraudulent or bot
  18998. h. While I'm fairly easy-going, I'm also the father of four kids aged from three to 15 of both sexes, and I do everything I can to protect them from seeing this stuff. The 'censorship is evil' brigade must be living in a parallel universe if they believe that a five-year-old boy or 13-year-old girl aren't harmed by explicit and sexually abusive material arriving unannounced in their mailboxes. 
  18999. *I challenge anyone to admit they'd do nothing if sexually explicit brochures for hardcore mater
  19000. ial arrived through their letterbox, addressed to their kids, and the contents spilled out onto the floor as you picked them up. But that's exactly what's happening with spam right now - it's not targeted and uses that scattergun approach to drop into as many mailboxes as it can. 
  19001. *This is no longer the same game played all those years ago by Cantor and Siegel with their 'green card lottery spam' that started the whole thing rolling. No, the name of the game now is to make money by convinc
  19002. ing sleaze merchants and serious businesses alike that by sending out 10 million untargeted mails they'll see a return on their advertising spend if only 0.25 per cent respond. That's a compelling sales pitch and the deal is easy to close when they reveal that the 10 million people can be reached overnight in a single mail-out costing a fistful of dollars.
  19003. **Canning the spam
  19004. *We need to fight spam on two fronts. Those fronts are education and technology - the first being the most importan
  19005. t. Get the message across to users of the spamhaus services that such untargeted, random, bulk mailings are worthless, that they damage brand reputation, alienate recipients and thus discourage potential customers, and - perhaps worst of all - associate the brand with others who spam; namely, pornographers, scammers and con-artists. 
  19006. *Once they realise exactly what they're becoming a part of, I suspect many will stop. Those new media marketers who understand the true value of demographics 
  19007. and can target specific market sectors without violating the user's right to privacy will flourish. After all, the commercial Internet is no different from any other marketplace and requires advertising revenues in order to survive. The trick is to ensure that the message doesn't destroy the medium. 
  19008. *This is where that second defensive front opens up - the use of technology to fight back. The answer to spam is obvious: adverts are no use if they're not read. Banner ad-blocking software ha
  19009. s been deployed to great effect, shaping how that particular advertising sector operates. Banners are becoming less intrusive, more user-friendly and less likely to be blocked - or at least the ones that get past my banner blockers are! As far as spam emails go, separating the meat from the messages isn't so easy. 
  19010. *At a corporate level, if you have the budget, you can use a third-party spam-filtering service such as Brightmail (<A HREF="http://www.brightmail.com" target="_BLANK">www.brigh
  19011. tmail.com</A>). A few forward-thinking ISPs such as Nextra/Cix also use this service and make it available to their members. It certainly catches a good 90 per cent of the spam to my Cix email address, but regrettably that isn't the address I use most. 
  19012. *However, for the average Joe looking for a way to filter spam at the POP3 server level (or even within their own mail client) to avoid wasting hours reading and deleting the stuff manually rather than the bandwidth cost of downloading the 
  19013. junk, such highly priced services aren't an option. 
  19014. *There are some clever tricks you can play. For example, I know someone who asks close friends and associates to add specific keywords to their mail subject header. His mail server fast-tracks such mails directly to their client mailboxes as it knows they're not spam - everything else goes through the full spam-filtering process looking for common spamhaus strings in headers as well as body text. Quite cute, and it works well if you're d
  19015. isciplined enough, but such measures are overly strict for most people and the risk of losing important mails is always there (say, if one of your associates forgets to play ball on a stressful day).
  19016. **Beating the meat
  19017. *I've been examining various commercial and community approaches to spam eradication for the last few years, and none has ever proved effective enough to get me hooked. In fact, for most of this time, I've reverted to the simplest of solutions: JDTS - Just Delete The Stuff.
  19018.  This works but is time-consuming and offers only a hollow and fleeting feeling of victory until your next polling of the mail server. 
  19019. *I tried to get into SpamCop (<A HREF="http://www.spamcop.net" target="_BLANK">www.spamcop.net</A>) and have been a paid-up member for some time, but it doesn't deal with the spam physically at your end; it just helps you to complain to the right people - the sysadmin for the spamming mail server. However, more often than not, that's just some open relay b
  19020. eing exploited, or a fake return address. And even if you do get a good flame through to the host ISP, the spammers will be long gone, as they treat their accounts as disposable - used once for a bulk mailing and then thrown in the trash. 
  19021. *Ever wondered why so much spam is selling spam services? Because increasingly that's where the money is being generated in the spam business - the sale of those 50 million addresses on CD-ROM for 
  19022. 50 a pop. A spamhaus will send out 25 million email flye
  19023. rs, which is a pretty painless procedure these days, and if they get 100 paid responses that's not a bad day's work. They can afford to move around, just like those dodgy geezers selling watches out of suitcases on the high street. As soon as they see the authorities approaching, they shut the case, nip round the corner and start selling again.
  19024. **Rinse cycle
  19025. *I no longer bother with SpamCop. I know it provides a useful service by monitoring spamhaus headers, but my working day is long eno
  19026. ugh already without the time it takes to be a good online citizen. Instead, I've turned my attention to another proactive spam-busting method, which I mentioned briefly a couple of issues back (see issue 101). MailWasher certainly appears to be dampening down my spam dose, and I'm pleased to report that it's working rather well. If you want the best standalone solution that enables a Windows box to intelligently screen incoming mail from your POP3 server before it gets despatched to your m
  19027. ail client, look no further. 
  19028. *MailWasher isn't a fire-and-forget application, as it requires a degree of involvement from you to control what mail is allowed off the POP3 server and into the client. However, I heartily believe that this is a good thing. It's the kind of long-trousered approach that appeals to me, because I get both the satisfaction of hands-on crushing of my junk mail and the knowledge that all information gleaned will become part of a powerful community weapon against th
  19029. e spammers. 
  19030. *The principle is simple enough: you fire up MailWasher and it checks your account, or accounts on multiple servers simultaneously, for messages awaiting download. It then looks at their headers and determines from these and the body text whether the message contains a virus or matches spamming patterns, using a combination of identification processes. 
  19031. *At its simplest, it applies a blacklist/whitelist approach. If a domain or specific address is found in the specified blackl
  19032. ist database - you can configure it to use default databases, specify your own or edit existing entries to suit - the message is flagged for automatic deletion upon hitting the Process button. Similarly, messages from domains or addresses on the whitelist - called the 'friends list' in MailWasher - are marked as friendly and automatically flagged for download into your mail client of choice. 
  19033. *This approach doesn't work at its best straight from the box, but rather takes time for you to bu
  19034. ild black and white lists that address your specific spam loads. In practice, I've found it needs ten to 14 days of input before it starts making the right decision more often than not. Once you've reached the stage where MailWasher is correctly blacklisting all your spam and letting all your confirmed friends through, you might want to think about switching to a more automatic mode. By choosing to just download and not display entries from your friends list, you save on screen estate and 
  19035. are fairly sure that only acceptable mail is making it through, without further intervention. 
  19036. *By the same token, you can just as easily set MailWasher so that blacklisted entries get deleted automatically. After three weeks of training here, day in, day out, I'm now confident that it's catching the majority of genuine spam using this method. Be sure you're happy that the software has got to know your way of working and what you classify as spam and what you don't before you start relying
  19037.  on its automated features to get it right every time. 
  19038. *Another nice real-world touch is the ability to apply standard mail client-style filtering to those searches (with regular expression support). Not everyone's cup of tea, I have to admit, but it does add another level of usability to this simple yet powerful application. What should be more up the PC Pro reader's street is a facility to use heuristic checking of body content and flag anything that matches the heuristic patterns for s
  19039. *The important thing is that MailWasher sucks mail information off the server, intelligently identifies it using some or all of the methods discussed above, and then starts to flag each mail item accordingly. 
  19040. *If you're polling multiple accounts on multiple servers, this isn't an instantaneous process, especially at the start of the working day when you normally see your biggest spam load. However, neither is it a long, drawn-out job, and my logs over a one-month testing period show 
  19041. that it took an average of 30 seconds to classify 100 items of mail once their headers had been hoovered off the server. 
  19042. *The important thing, especially during this initial training phase, which takes as long as you want in order to be comfortable with how accurately items are getting categorised, is that you let MailWasher finish the flagging before you hit the Process Mail button. Do that too soon and you run the risk of losing important mail, and there's no getting it back either, bec
  19043. ause once it has been categorised as spam it will be deleted directly off the server never to be seen again. 
  19044. *It's at this mail-processing stage that I feel MailWasher gets a little too clever for its own clogs - it offers one option too many. You can choose for mail to be downloaded (if non-spam) or deleted as already mentioned, but there's also a third option that sends a 'bounce' message to the sender of the spam in addition to deleting it from your server. 'Hey, that's a great idea' y
  19045. ou and many others might well be saying now, but no, believe me it isn't, it's a deeply flawed one. The main problem is that it isn't a real bounce message, and it only gets sent to who MailWasher thinks is the sender of the spam. 
  19046. *This double whammy of arse-backwardness makes it no better than useless in my opinion. First, there's the fake message business: anyone who knows anything about bounce messages will realise that a genuine one will come from the same server that received the ori
  19047. ginating mail, and if you're running multiple mail accounts on separate servers it all goes wrong. More importantly, though, a real bounce message is sent back at the time of receipt by the server, not five minutes or an hour or more later when you're polling it with MailWasher. Quite apart from that, the fact is that many spammers don't care if their message has hit the target or a black hole - it's the mere sending of it that has earned them the money. 
  19048. *Then there's the question of gett
  19049. ing the bounce message back to the proper sender anyway. Hands up if you've had email bounce messages arrive in your mailbox apparently from someone who didn't want to know about getting their breasts enlarged or participate in the chance to earn commission from some Nigerian nobleman looking to launder an unlikely sum of money in your bank account. Do you really want to be adding to the spam problem by sending this kind of stuff to innocent parties whose only crime is to have had their em
  19050. ail details used by a spammer?
  19051. *But there's no denying that by coupling MailWasher's stage-one filtering approach with your mail client's pre-filtering function (you're using a client that lets you see what's sitting on the server awaiting delivery before it's delivered, aren't you?) you'll see a drop in spam volumes in the region of 95 per cent. Yes, you heard that right. By simply devoting a little of my precious time to proactively doing something about the spam problem as it affects me
  19052. , I've seen the amount of junk that gets delivered to my mail client and into my mailboxes drop from 2,000 per week to just 100! Not yet perfect by any means, but certainly worth all my effort, and perhaps yours. 
  19053. *The latest versions of MailWasher also support Hotmail accounts, which can now be cleared of spam too. You can try it free of charge (no spyware I can find, just a scrolling banner in the application asking you to consider registering to support the developer). If you like it an
  19054. d use it, do consider making a donation as asked by the developer. He's not greedy and says you can make any donation you like, but $20 (
  19055. 13) gets you unlimited support.  Check it out for yourself at <A HREF="http://www.mailwasher.net" target="_BLANK">www.mailwasher.net</A>
  19056. HKDavey Winder scrubs up to take a look at spam-filtering software MailWasherL
  19057. May 2003X
  19058. 103 (May 2003)i
  19059. Online
  19060. discoverA
  19061. scatteringQ
  19062. scavenge
  19063. scenarioF
  19064. scenariosL
  19065. sceneL
  19066. scheduled
  19067. OO+O+O+O+O+O+O+O+O+O
  19068. I+O+O+O+O+O
  19069. +O+O+OO+
  19070. O+O+O
  19071. O+O+O+O+O+O+O+O
  19072. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  19073. O+O+O+O+O+O+O+O
  19074. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  19075. O+O+O+O+O+O+O+O
  19076. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  19077. O+O+O+O+O+O+O+O
  19078. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  19079. O+O+O+O+O+O+O+O
  19080. O+O+O+O+O+O+O+O+O+O+O+O+O
  19081. +O+O+O
  19082. O+O+O+O+O+O+O+%
  19083. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  19084. +O+O+O
  19085. +O+O+O
  19086. +O+O+O+O+O+O
  19087. O+O+O+O+O
  19088. +O+O+O+O+{
  19089. +OO+O+O+O+O+O+O+O+O+O
  19090. %U%U%*
  19091. O+O+O+O+O+O+O+O+O+O+
  19092. +O+O+O+OO+O+O+O+O+O
  19093. +O+O+O+O
  19094. O+O+O+O+O
  19095. O+O+O+O+O+O+O+O
  19096. +O+O+
  19097. OO+O+O
  19098. O+O+O+O+O+O+O+O+O
  19099. +O+O+OO+
  19100. +O+O+OO+O+O+O+O+O+O+O+O+O
  19101. %U%U%U%U%U%U%UI1I1I1J0J
  19102. 1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I
  19103. O+O+O+O+O+O+O+O+O
  19104. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  19105. %U%U%U%U%U%U%UI1I1I1J0J1I1I1I1I1I1I1I1I1I1I1I1I1I
  19106. 1I1I1I
  19107. O+O+O+O+O+O+O+
  19108. O+O+O+O+O+O+O
  19109. O+O+O+O+O+O+O+O
  19110. +O+O+O
  19111. +O+O+
  19112. +O+O+OO+O+O+O+O+O+O+O
  19113. +O+Oz
  19114. +O+O+O
  19115. asleepJ
  19116. asmxf
  19117. asp's
  19118. asp-based
  19119. asp-generated
  19120. aspersions
  19121. aspi32
  19122. revertedc
  19123. reverting
  19124. reverts
  19125. reviewH
  19126. reviewedF
  19127. reviewer
  19128. reviewers
  19129. reviewing
  19130. reviewsI
  19131. rewinds
  19132. rewirev
  19133. rewired
  19134. reword
  19135. deletedI
  19136. deletedc
  19137. deletionL
  19138. deletionsm
  19139. delia
  19140. delia's
  19141. deliberate
  19142. deliberatelyC
  19143. deliberationL
  19144. deliberations
  19145. delicatew
  19146. delicious
  19147. delightT
  19148. +O+O+O+O+O+O+O
  19149. %U%UI1I1I1I1I1I1I1I1I1I
  19150. +O+O+O+O+O
  19151. O+O+O+O+O+O+O+O
  19152. %U%UI1I1I1I1I1I1I1I1I1I
  19153. +O+O+O+O+O
  19154. O+O+O+O+O+O+O+O
  19155. %U%UI1
  19156. I1I1I1I1I1I1I1I1I
  19157. +O+O+O+O+O
  19158. O+O+O+O+O+O+O+O
  19159. %U%UI1I1I1I1I1I1I1I1I1I
  19160. +O+O+O+O+O
  19161. O+O+O+O+O+O+O+O
  19162. %U%UI1I1I1I1I1I1I1I1I1I
  19163. +O+O+O+O
  19164. O+O+O+O+O+O+O+O
  19165. O+O+O+O
  19166. O+O+O+O+O+O+O+O+O+
  19167. +O+O+OO+O+O+O+O
  19168. +O+O+O+O+{
  19169. +O+O+OO+O+O+O+O+O+O+O+O+O
  19170. %U%U%+
  19171. O+O+O+O+O+O+O
  19172. +O+OO+O+O+
  19173. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  19174. O+O+O
  19175. +O+O+O+O
  19176. OO+O+O+
  19177. O+O+O
  19178. O+O+O+O+O+O+O+O+O
  19179. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  19180. O+O+O+O+O+O+O+O+O
  19181. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  19182. O+O+O+O+O+O+O+O+O
  19183. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  19184. O+O+O+O+O+O+O+O+O
  19185. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  19186. O+O+O+O+O+O+O+O+O
  19187. O+O+O+O+O+O+O+O+O+O+O+O
  19188. +O+O+O
  19189. O+O+O+O+O+O+O+%
  19190. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  19191. +O+O+OO+O
  19192. +O+O+O+O+O+O+O+O
  19193. 1I1I1I1I1{
  19194. OO+O+O+O
  19195. O+O+O+O+O+O+O+O
  19196. +O+O+O+O+O+O+OO
  19197. +O+O+
  19198. turningF
  19199. turnoverO
  19200. turnsA
  19201. classifyc
  19202. classifying
  19203. classinfo
  19204. classless
  19205. classname
  19206. classpathM
  19207. classpoint
  19208. classroom
  19209. classrooms
  19210. classtype
  19211. classy
  19212. clattering
  19213. claus
  19214. clauseo
  19215. clauseso
  19216. clausestyle
  19217. claves
  19218. clawF
  19219. clawingm
  19220. claws
  19221. cleanA
  19222. clean-out
  19223. cleanfreebusy
  19224. cleaning
  19225. clientaR
  19226. clientdata
  19227. clientec
  19228. clientele
  19229. clientheight
  19230. clientrect
  19231. clientsA
  19232. +O+O+O+OO+O+O+O+O+O+O+O+O+{
  19233. O+O+O+O+O+O
  19234. +O+O+O+O+O+O+OO+O+O+O
  19235. +O+O+O+O+O+O,N,O+O+O+O+O+O+O+O+O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O,N,O+O+O+O+O+O+O+O+O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O,N,O+O+O+O+O+O
  19236. +O+O+O+O+O+O+O+O+OO+O
  19237. O+O+O+O+O
  19238. O+O+O+O+O+O+O+O+
  19239. +O+OO+O+
  19240. +O+O+OO+O+O
  19241. +O+O+OO+O+O+
  19242. +O+O+OO+O+O+O+O+O+O+O+O+O
  19243. O+O+O+O+O
  19244. +O+O+O+O+O+O+O
  19245. I+O+O
  19246. +O+O+O+O+O
  19247. O+O+O+O+O
  19248. O+O+O+O+O+O+O+O+O
  19249. %OO+O+O+O+O+O+O
  19250. +O+O+O+O+O+O+O+O
  19251. O+O+O+O+O+O+O
  19252. OO+O+O+
  19253. O+O+O+O
  19254. O+O+O+O+O+O+O+O
  19255. O+O+O+O
  19256. +O+O+O+O+O+O+O+O+O+
  19257. EO+O+O
  19258. O+O+O+O+O+O+O+O
  19259. O+O+O+O+O+O
  19260. +O+O+OO+O+O+O+O+O+O+O+O+O
  19261. O+O+O+O+O
  19262. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  19263. I+O+O+O+O+O
  19264. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  19265. I+O+O+O+O+O
  19266. +O+O+O+O+O+O+OO+
  19267. O+O+O+O+O+O+O+O+O
  19268. O+O+O
  19269. O+O+O+OO+O+O+O+O+
  19270. +O+O+O+OO+O+
  19271. +O+O+OO+O+O
  19272. +O+O+OO+O+O+
  19273. +O+O+OO+O+O+O+O+O+O+O+O+O
  19274. I+O+O+O
  19275. +O+O+O+O+O+O+O
  19276. I1I1I1I1I1I1I1I
  19277. O+O+O+O+O+O+O+O
  19278. +O+O+O+O
  19279. +O+O+O+O+O+O+O+O
  19280. %OO+O+O+O+O+O+O
  19281. +O+O+O+O+O+O
  19282. +O+O+O+O
  19283. wroteL
  19284. wrought
  19285. wsconwindowsscriptho
  19286. wscript
  19287. +O+O+O+
  19288. O+O+O
  19289. O+O+O+O+O+O+O+O+O
  19290. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  19291. O+O+O+O+O+O+O+O+O
  19292. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  19293. O+O+O+O+O+O+O+O+O
  19294. O+O+O+O+O+O+O+O+O+O+$
  19295. +O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  19296. O+O+O+O+O+O+O+O
  19297. +O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  19298. O+O+O+O+O+O+O+O
  19299. +O+O+O+O+z
  19300. +O+O+OO+O+O+O+O+O+O+O+O+O
  19301. O+O+O+O
  19302. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  19303. O+O+O+O+O+O+O+O
  19304. O+O+O+O+O+O
  19305. OO+O+O
  19306. O+O+O+O+O+O+O
  19307. %UI1I\%*
  19308. O+O+O+
  19309. +OO+O
  19310. O+O+O+O
  19311. +O+OO+O+O+O+O+O+O+O+O+O
  19312. O+O+O+O+O+O+O+O+O+O+O+O
  19313. +O+OO+O+O+O+O+O+O+O+O+O
  19314. O+O+O+O+O+O+O+O+O+O+O+O
  19315. +O+OO+O+O+O+O+O+O+O+O+O
  19316. O+O+O+O+O+O+O+O+O
  19317. O+O+O
  19318. +O+O+O+O+O
  19319. I+O+O
  19320. +O+O+O+
  19321. +O+O+
  19322. OO+O+O+O+O
  19323. O+O+O+O
  19324. +O+O+OO+O+O+O+O+O+O+O+O+O
  19325. O+O+O+O+O
  19326. +O+O+OO+O+O+O+O+O+O+O+O+O
  19327. +O+O+%
  19328. O+O+O+O+O+O+O
  19329. +O+OO+O+O+O+O+O+O+O+O+O
  19330. O+O+O+O+O+O+O+O+O+O+O+O
  19331. +O+OO+O+Oz
  19332. +O+O+O+O
  19333. O+O+O
  19334. O+O+O+O+O+O+O+O
  19335. O+O+O+O+O+O+O+O{z
  19336. *P+O+O+O+O
  19337. O+O+O+
  19338. O+O+O+O+O+O+O+O+O+O+O+O
  19339. O+O+O+O+O+O+O+O
  19340. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  19341. O+O+O+O+O+O+O+O
  19342. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  19343. O+O+O+O+O+O+O
  19344. O+O+$
  19345. O+O+O+O+O+O+O+O+O+O
  19346. +OO+O+O+O+O+O+O+O+O+O
  19347. O+O+O+O+O+O+O+O+O+O+O+O+O
  19348. +OO+O+O+O+O+O+O+O+O+O
  19349. O+O+O+O+*O+O+O+O+O
  19350. +O+O+OO+O+O+O+O+O+O+O+O+O
  19351. +O+O+O+O
  19352. O+O+O+O+O+O+O
  19353. +O+O+O+z
  19354. +O+O+OO+O
  19355. O+O+O
  19356. O+O+O+O
  19357. +O+O+
  19358. O+O+O+O+O+O+O+
  19359. O+O+O+O+O+O+O+O
  19360. %OO+O+O+O+O+O+O+
  19361. O+O+O+O+O+O+O+O+O
  19362. O+O+O+O+O+O+O+O
  19363. %OO+O+O+O+O+O+O+
  19364. O+O+O+O+O+O+O+O+O
  19365. O+O+O+O+O+O+O
  19366. %OO+O+O
  19367. O+O+O+O+O+O+O+O+O+O
  19368. O+O+O+O+O+O+O+O+O+O
  19369. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  19370. O+O+O+O+O+O+O+O+O+O
  19371. O+O+O+O+O+
  19372. O+O+O+O+O
  19373. +O+O+OO+O+O+O+O+O+O+O+O+O
  19374. O+O+O+O
  19375. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  19376. O+O+O+O+O+O+O+O
  19377. O+O+O+O+O+O
  19378. OO+O+O
  19379. O+O+O
  19380. O+O+O+O+O+O+O+O{
  19381. O+O+O+%
  19382. O+O+O+{
  19383. O+O+{
  19384. Simon Brock and Ian WrigleyD
  19385. Retiring early
  19386. Red Hat produces what's probably the best-known Linux distribution. Although SuSE is arguably more popular in continental Europe, many companies in the UK - including ourselves - still use the Red Hat distribution, and it's by far the most popular among US corporate Linux users. To some extent, our use of Red Hat here at Wide Area (and at W A Communications, our US subsidiary) is a case of 'sticking with what we're used to', but a recent announcement by Red Hat is making us think that perh
  19387. called 'cones' - interpret the different wavelengths of light falling on them. The three types of cone are sensitive to three wavelength ranges within the visible spectrum between infrared and ultraviolet, and it's a particular combination of all three responses that produces the sensation of seeing a particular colour. 
  19388. *The cones' sensitive ranges overlap, so it wouldn't be true to say that they correspond directly to our perception of red (R), green (G) and blue (B). But by mixing diffe
  19389. rent combinations of these three 'primaries', we can reproduce the largest possible proportion of the visible spectrum. Within this light-based RGB colour mixing model, absence of light produces the perception of black, while a mixture of all wavelengths is perceived as white (as Newton showed with his prism). Due to the way the primaries are combined, the RGB system is called 'additive'.
  19390. *Computer monitors emit light, so the RGB mixing model is tailor-made for them (as it is for desktop s
  19391. canners and digital cameras). By varying the brightness of red, green and blue phosphors, the monitor produces a huge range, or 'gamut', of colours. It's convenient to store each primary's contribution as a single byte, permitting 256 (28) possible levels for each of the RGB components, which combined together can describe over 16 million possible colours (256 x 256 x 256), ranging from black (R0, G0, B0) through to white (R255, G255, B255). This beautifully efficient 24-bit RGB system is 
  19392. what we're all familiar with, as represented by the computer's ubiquitous RGB colour mixer panel. 
  19393. *Now all we need to do is get these RGB values onto paper, but this is where we hit the fundamental problem. Printed pages don't emit light like a computer screen. On the contrary, their inks absorb light so that a red pigment produces its colour effect by removing all the other wavelengths from the white light reflected from the page. This means ink-based colour mixing is 'subtractive' rathe
  19394. r than additive. A mixture of all colours tends toward black, while the absence of colours leaves the white of the paper - the opposite of RGB. However, we can still invent an equivalent ink-based three-colour mixing system with the widest possible range, choosing the 'complement', or opposite, of each RGB primary. 
  19395. *The ink colours that fill these roles are Cyan (C), which absorbs red light and reflects blue and green; Magenta (M), which absorbs green and reflects blue and red; and Yellow
  19396.  (Y), which absorbs blue and reflects red and green. The inks are translucent, which means that overprinting two of these subtractive primaries is equivalent to an additive primary; for example, overlaying cyan on yellow leaves a green reflected light. In this way, combinations of the subtractive primaries CMY can be used to produce a printed equivalent of the RGB gamut.
  19397. *Unfortunately, the inks are not perfect absorbers or reflectors and so combining maximum levels of each doesn't produce
  19398.  a pure black, but rather a muddy brown. The solution is to introduce an extra, dedicated black ink (indicated as K rather than B to avoid the clash with Blue). In addition to improving colour reproduction, this enables high-resolution unscreened black type to be output with maximum contrast and hence maximum readability. 
  19399. *The resulting CMYK colour mixing model - called 'four-colour process' by printers - is the basis of full-colour commercial printing. Its advantage over specially concoc
  19400. ted 'spot colour' inks, such as the Pantone range, is that it can specify a huge gamut of colours on the same page. Also, by breaking images down into halftone spots composed of variable quantities of cyan, magenta, yellow and black ink (see issue 79), it can fool your eye into seeing the continuous tones essential for reproducing colour photographs. In other words, you can produce any of those full-colour, photograph-filled layouts that you see in newsstand magazines by decomposing your p
  19401. ages into just four 'colour separations', one for each of the four CMYK inks.
  19402. *CMYK is a formidably flexible system and its proper handling is the secret of successful commercial print, which is why professional DTP applications and print-oriented vector drawing programs such as InDesign and Illustrator encourage you to specify colours in CMYK rather than RGB. Incidentally, since commercial print predates computers, CMYK colours are usually specified as percentages rather than byte values,
  19403.  so white is 0C 0M 0Y 0K and a solid green is 100C 0M 100Y 0K. 
  19404. *But we have another problem: the main advantage of CMYK print is its ability to reproduce the continuous tones necessary for colour photographs. However, as I've said above, photographic colours are actually stored as RGB values. Clearly, there's a need to translate between the two colour spaces, and as they're closely linked - with black and white inverted and each pair of subtractive primaries creating an additive primary a
  19405. nd vice versa - such a mapping should be mathematically fairly simple. 
  19406. *In practical terms, it's easy: in Photoshop, just change the Image | Mode command from RGB to CMYK and all the colour values in your image are automatically translated from 24-bit RGB to 32-bit CMYK. You then need to save your image in a format that supports CMYK - TIFF being the most common - for import into your DTP application. 
  19407. **Gamut over
  19408. *It looks as if it could hardly be made easier - but hang on. Depending o
  19409. n the image you selected, you'll probably notice that some of the colours in your new CMYK version look different, sometimes very different. Convert an RGB image of Photoshop's rainbow gradient, for example, and the CMYK version is almost unrecognisable, all its bright saturated colours rendered dull and murky. This is an extreme case of the disappointment every designer will have experienced when seeing a four-colour process print-run turn out a dull travesty of the original on-screen lay
  19410. out. 
  19411. *The typical response to this colour shift is to blame the printers, but the effect is unavoidable for a simple reason: the CMYK colour space is smaller than the RGB colour space - hardly surprising, given that CMYK produces its gamut using reflected light and imperfect inks. Those RGB colours that are unprintable -  that is, 'out of gamut' - are the purest and most saturated, such as those in the rainbow gradient. Fortunately, such saturated colours are comparatively rare in nature,
  19412.  but you can see just how much of the RGB gamut is unprintable using Photoshop's RGB colour mixer, which indicates unprintable colours with an exclamation mark - move the three red, green and blue sliders and you'll find whole swathes of the RGB colour space that are simply out of bounds for process printing.
  19413. *There's also another major problem. We've been acting as if there was one fixed CMYK gamut, as if the same percentages of ink will always produce the same colour, but that's simply n
  19414. ot the case. The CMYK gamut varies depending on the press and printing conditions, and the translation from RGB needs to take this into account. The most significant factors are the inks and paper used. Different presses in different countries tend to use slightly different setups and inks, and combine them slightly differently to produce different gamuts. Then there's the paper and how it interacts with the inks. Clearly, the same inks printed on uncoated newsprint and on bright white coa
  19415. ted paper will produce very different gamuts. And since the perceived strength of each primary is determined by the size of its halftone dot, the absorbency of the paper matters a lot. 
  19416. *Another complicating factor is the addition of a black plate to the main CMY primaries, which, in an ideal world, would themselves combine to produce a true black. One of the advantages of this black plate is that equal percentages of cyan, magenta and yellow can be shifted onto it, cutting down on the pos
  19417. sibility of over-inking and giving subtler control over the shadows and tones in an image. In 'undercolour removal' (UCR), black ink is used to replace equal amounts of CMY only in neutral grey areas of the image, while in 'grey component replacement' (GCR) they're replaced even in coloured areas. Another advantage is that you can produce richer blacks, for example, by translating R0 G0 B0 to produce a 'warm black' with added magenta and yellow or, for a polar image, a 'cool black' with ex
  19418. tra cyan.
  19419. *In short, there are many, many ways of mapping the same RGB values to CMYK percentages, and producing the best possible results means customising the conversion across the full colour spectrum, taking into account not just the individual press, inks and paper but even the individual image! 
  19420. *Not surprisingly, it's Photoshop that leads the way here. In version 7, you can achieve this level of control using the Edit | Colour Settings | Custom CMYK... command available from the CMY
  19421. K working space drop-down, whose dialog lets you specify ink colours and set GCR, UCR or custom black generation. As you make changes, you can see how the neutral RGB colours from 0 to 255 will be translated to each of the cyan, magenta, yellow and black plates as a graph (notice how each ink's graph is non-linear and different to the others). Once the profile is created and selected, it will determine the final CMYK values when you change image mode.
  19422. *The power's all there, and it's usefu
  19423. l to see how a CMYK profile controls the conversion process. But don't panic - no-one expects you to use it. Requiring a designer to become a pre-press expert would be crazy, and fine-tuning each individual image's RGB-to-CMYK conversion isn't practical. Thankfully, these days Photoshop,  Illustrator and InDesign come with preset profiles for each of the main printing regions - Europe, the US and Japan - with alternatives supplied for coated and uncoated paper and - in the US - for web and
  19424.  sheet-fed litho presses. Check with your bureau to see which preset it recommends for your job, or whether it has produced its own profiles (some bureaux prefer you to convert to a well-defined proofing colour space that they can set their presses to match).
  19425. *One final factor you need to know about and be in control of is how your out-of-gamut colours are handled. This is managed via the Colour Setting dialog's Rendering Intent setting (click on Advanced to see this option). If you're pro
  19426. ducing a flat colour logo, for example, and don't mind out-of-gamut colours simply being mapped to the nearest printable colour, you can select Absolute Colorimetric (though it would make more sense to select only colours that work both on screen and paper). If you're producing a business graphic, you might be less concerned with colour accuracy than impact, in which case select the Saturation option. For continuous-tone images like photographs, it's often better to sacrifice exact colour 
  19427. matching to preserve the full tonal range, in which case choose Perceptual. And finally, for a cross between colour accuracy and maintaining tonal range, you can choose the default Relative Colorimetric option.
  19428. **RGB or not RGB
  19429. *That's how RGB to CMYK conversion works and how to set it up for good results. You should now see that achieving perfect results is impossible, and even achieving the best possible result is often impractical. And knowing what's involved, you might well prefer to 
  19430. leave it to your printers, who are the press experts after all. If you have a good relationship, that might be the best option. But be careful: many large printers will simply apply a standard conversion, while others will refuse to accept a job with unconverted images as they know they'll be blamed for the inevitable colour shifts. If you're really unlucky, the printers will simply output the pages and photos as delivered and - depending on your DTP package - your RGB images could end up 
  19431. as greyscales on the black plate!
  19432. *If you do take responsibility for conversion yourself, when should you do it? Some designers argue that if an image is going to be separated for commercial print, you may as well work in CMYK as early as possible. This does bring several advantages: colour correcting in CMYK is much more intuitive than managing RGB, and with a dedicated black plate it's easier to control shadow detail, for example, or to apply sharpening just to the black channel. If you 
  19433. need to colour match exactly, say to add a tinted box that matches your corporate colours, or if your image was professionally scanned as CMYK, it definitely makes sense to work with CMYK.
  19434. *Generally, though, the case for editing in RGB is more convincing. For starters, the RGB gamut is much wider than CMYK and it's always better to retain as much colour information as possible. This is especially the case nowadays when you might well be producing work for screen/web use as well as for com
  19435. mercial print. You also get more editing power in RGB mode, because many features such as filters aren't available in CMYK. 
  19436. *Plus, if you're going to be printing to a non-PostScript colour inkjet, you'll get better results if you stick with RGB. This may seem counter-intuitive, as inkjets clearly build their colours using ink. However, they aren't limited to the standard CMYK process colours and are optimised to work with computers, so they're treated as RGB devices. On top of all these o
  19437. ther advantages, 24-bit RGB is 25 per cent more efficient in terms of both space and processing time than 32-bit CMYK.
  19438. *The real clincher is that if you're using Photoshop, you can get most of the benefits of CMYK while still working in RGB. Photoshop's Colour palette marks those RGB colours that aren't printable with an exclamation mark, and clicking on that mark automatically converts the colour to the nearest CMYK-friendly colour. The Info palette shows you both RGB values and CMYK perc
  19439. entages and highlights problem colours as you move the cursor over the image. You can even work directly with an image's brightness channel by temporarily converting to LAB mode, without the perceptible and irreversible colour shift inherent in converting to CMYK. 
  19440. *More useful still is Photoshop's soft proofing capability. Using the View | Proof Colors command (shortcut <Ctrl-Y>), you can preview how your image would print using the current CMYK profile, and the New Window command allows 
  19441. you to compare RGB and CMYK versions side-by-side. Since this preview is non-destructive, you can swap profiles using the Proof Setup | Custom command to see how your image would turn out on, say, coated or uncoated stock. 
  19442. *Best of all, you're able to see all areas of the image that are unprintable using the View | Gamut Warning command (shortcut <Shift-Ctrl-Y>), which indicates out-of-gamut colours using a grey overlay. The ideal is to keep these to a minimum when colour correcting image
  19443. s destined for commercial print (you can toggle the gamut warning when the Adjust dialogs are open). You may also use colour correction to bring these problem areas back into the fold - usually by lightening or desaturating - and Photoshop conveniently lets you select all out-of-gamut colours automatically from the Select | Colour Range dialog's drop-down.
  19444. *This gives you the best of both worlds - editing in the RGB gamut, but always taking into account and controlling your image's CMYK gaa
  19445. mut, ready for the final conversion, separation and printing. With a colour-managed, profile-based workflow, you can push the conversion even further downstream, but that's another story for a future article.
  19446. H[Tom Arah explores the RGB and CMYK colour spaces, and how best to get from one to the otherL
  19447. May 2003X
  19448. 103 (May 2003)i
  19449. Publishing/Graphics
  19450. O+O+O
  19451. +O+O+O+O+O+O+O+O+O+O+O+O
  19452. O+O+O+O+O+O+O+O
  19453. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  19454. O+O+O+O+O+O+O+O
  19455. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  19456. +O+O+O+O+O+O+O
  19457. +O+O+O+O+O+OO+O+O+O+O+O+O+O+P*P+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+OO+O+O+O+O+O+O+O+P*P+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+OO+O
  19458. O+O+O+O+O+O+O
  19459. %UI1I\
  19460. +O+O+OO+O
  19461. +O+O+O+
  19462. +O+O+O+O+OO+O+O+O+O+O+O+O+O,N,O
  19463. OO+O+O+O+O+O+O
  19464. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O,N,O
  19465. OO+O+O+O+O+O+O
  19466. +O+O+O+O+O+O+OO+O+O+O+O+
  19467. O+O+O+O,N,O
  19468. OO+O+O+O+%
  19469. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  19470. O+O+O+O+O+O+O+O
  19471. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  19472. O+O+O+O+O+O+O+O
  19473. O+O+O+O+O
  19474. +O+O+OO+O+O+O+O+O+O+O+O+O
  19475. +O+O+$%*
  19476. +O+O+OO+
  19477. O+O+O+O+O+O+O
  19478. %UI1I\
  19479. +O+O+OO+O
  19480. O+O+O
  19481. full-duplexY
  19482. full-featuredW
  19483. full-guns
  19484. full-house
  19485. full-length
  19486. full-motion
  19487. full-on
  19488. full-power
  19489. full-quality
  19490. full-scaleL
  19491. full-screenF
  19492. full-sizeb
  19493. full-sizedD
  19494. full-speed
  19495. full-stop
  19496. full-strength
  19497. full-text
  19498. full-timeJ
  19499. full-width
  19500. full/half
  19501. fuller
  19502. fullest
  19503. fullish
  19504. fullname
  19505. fullness
  19506. full-duplex@
  19507. full/half
  19508. fullscreen@
  19509. fully
  19510. fully-automated
  19511. fully-blown
  19512. fully-interactive
  19513. fun-to-use@
  19514. function
  19515. function's
  19516. functional
  19517. functionalities@
  19518. functionality
  19519. functionally
  19520. functioning
  19521. fund@
  19522. fundamentals@
  19523. funny
  19524. furry@
  19525. further
  19526. furthermore
  19527. tchunk@
  19528. gets@
  19529. getservice@
  19530. getty@
  19531. gifs@
  19532. giveaway@
  19533. given
  19534. microsoft
  19535. finally
  19536. started
  19537. noises@
  19538. giving@
  19539. glad@
  19540. glitched@
  19541. glwebmail@
  19542. glyph's@
  19543. gmedia's@
  19544. go-anywhere@
  19545. godsend@
  19546. goggles@
  19547. going
  19548. goings@
  19549. gonna@
  19550. good-looking@
  19551. goods@
  19552. google's@
  19553. gotcha@
  19554. goto@
  19555. gov/oc/buyonline/def@
  19556. governed@
  19557. grabs@
  19558. grafted@
  19559. granularity@
  19560. graphically@
  19561. +O+O+O+O+
  19562. +O+O+O+O+O+O+O
  19563. O+O+O+O+O+O+O+O
  19564. %OO+O+O+O+O+O+O+
  19565. O+O+O+O+O+O+O+O+O
  19566. O+O+O+O+O+O+O+O
  19567. %OO+O+O+O+O+O+O+
  19568. O+O+O+O+O+O+O+O+O
  19569. O+O+O+O+O+O
  19570. %OO+O+O+O+O+O+O+
  19571. O+O+O+O+O+O+O+O+O
  19572. O+O+O+O+O+O+O+O
  19573. %OO+O+O+O+O+O+O+
  19574. O+O+O+O+O+O+O+O+O
  19575. O+O+O+O+O+O+O+O
  19576. %OO+O+O+O+O+O+O+
  19577. O+O+O+O+O+O+O
  19578. O+O+O+O+O+O+O+O
  19579. %OO+O+O+O+O+O+O+
  19580. O+O+O+O+O+O+O+O+O
  19581. O+O+O+O+O+O+O+O
  19582. %OO+O+O+O+O+O+O+
  19583. O+O+O+O+O+O+O+O+O
  19584. O+O+O+O+O+O+
  19585. O+O+O+O
  19586. O+O+O+O+O+O+O{
  19587. O+O+O+%
  19588. O+O+O
  19589. O+O+O+O+O+O+O+O
  19590. O+O+O+O+O+O+O+O+O
  19591. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  19592. O+O+O+O+O+O+O+O+O
  19593. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  19594. O+O+O+O+O+
  19595. O+O+O+O
  19596. O+O+O+O+O+$
  19597. +O+O+O+O+O+O
  19598. O+O+O+O+O+O+O+O+O+O
  19599. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  19600. O+O+O+O+O+O+O+O+O+O
  19601. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  19602. O+O+O+O
  19603. O+O+O+O+O+O+O{
  19604. O+O+O+%
  19605. O+O+O+O+O+O+O+O,N,O+O+O+O+O+O+O+O+O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O,N,O+O+O+O+O+O+
  19606. O+O+O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O,N,O+O+O+O+O+O+O+O+O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O,N,O+O+O+O+O+O+O+O+O+O+O+O+O+O+OO+O+O+O+O
  19607. +O+O+O+O+O,N,O+O+O+O+O+O+O+O+O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O,N,O+O+O+O+O+O+O+O+O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O,N,O+O+O+O+O+O+O
  19608. O+O+O+O+O+O+O
  19609. +O+O+O+
  19610. +O+O+O+O+%
  19611. O+O+O+O+P*{O
  19612. +O+O+OO+O+O+O+O+O+O+O+O+O
  19613. I+O+O+O+O+O
  19614. +O+O+Oz
  19615. O+O+O+O+O+O
  19616. +O+O+O
  19617. I+O+O
  19618. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  19619. +O+O+O+O+O
  19620. I+O+O
  19621. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  19622. +O+O+O+O+O
  19623. I+O+O
  19624. +O+O+O+O+O+O+
  19625. OO+O+O+O+O+O+O+O+O+O
  19626. +O+O+O+O+O
  19627. I+O+O
  19628. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  19629. +O+O+O+O+O
  19630. I+O+O
  19631. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  19632. +O+O+
  19633. O+O+O
  19634. I+O+O
  19635. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  19636. +O+O+O+O+O
  19637. I+O+O
  19638. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  19639. +O+O+O+O+O
  19640. I+O+O
  19641. +O+O+O+O+O+O+O
  19642. O+O+O+O+O+O+O
  19643. +O+O+OO
  19644. +O+O+OO+O
  19645. +O+O+OO+O
  19646. O+O+O+O+O
  19647. +O+O+O
  19648. I+O+O+O+O
  19649. +O+O+O+O+O+O+OO+O+O+O+O+O+{
  19650. achievingd
  19651. achillesk
  19652. acid's
  19653. acidise
  19654. acidised
  19655. ackermann
  19656. acknowledge
  19657. acknowledged
  19658. acknowledgement
  19659. acknowledges
  19660. acknowledging
  19661. acls~
  19662. acomponent
  19663. acorn
  19664. acouple
  19665. acoustic
  19666. acoustically
  19667. acoustics
  19668. acoustimass
  19669. acpi-compliant
  19670. acpi-enabled
  19671. acpi-supporting
  19672. acpibiosdate
  19673. countlessJ
  19674. countriesN
  19675. country_
  19676. countless@
  19677. country's@
  19678. couple
  19679. couple-of-pixels-out
  19680. coupled
  19681. course@
  19682. course-completion
  19683. courtesy
  19684. courtly@
  19685. cover@
  19686. cover-mount
  19687. covered@
  19688. covers@
  19689. covert
  19690. cowboys@
  19691. cpu's@
  19692. cracks@
  19693. cramming@
  19694. crash-landed@
  19695. crass@
  19696. creaks
  19697. create
  19698. createbutton
  19699. created@
  19700. createfolder@
  19701. createtextfile@
  19702. creating
  19703. creating
  19704. multimedia
  19705. projects
  19706. about
  19707. sharing
  19708. there's
  19709. creatives@
  19710. creature@
  19711. credit-reference@
  19712. creeping
  19713. cricket
  19714. criminalisation@
  19715. crispsofties
  19716. criterion@
  19717. cross-compile@
  19718. cross-referencing
  19719. crossing@
  19720. iagnosis@
  19721. didn't@
  19722. differentiate@
  19723. digression@
  19724. dinosaurs@
  19725. directory-tree@
  19726. disappeared@
  19727. disasters@
  19728. discover@
  19729. disinfection@
  19730. displaydns@
  19731. distance@
  19732. O+O+O+O+O+O+O+O
  19733. O+O+O+O+O+O+O+O
  19734. +O+O+O+O+O+O
  19735. O+O+O+O+O+O+O+O+O
  19736. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  19737. O+O+O+O+O+O+O+O+O
  19738. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  19739. O+O+O+O+O
  19740. O+O+O+O+O+Oz
  19741. O+O+O+O+O+O+O+O
  19742. %U%U%U%U%UI1I1I1I1I1I1I1I1I1I
  19743. O+O+O+O+O+O+O+O+O
  19744. %U%U%U%U%UI1I1I1I1I1I1I
  19745. 1I1I1I
  19746. O+O+O+O+O+O+O+O+O
  19747. %U%U%U%U%UI1I1I1I1I1I1I1I1I1I
  19748. O+O+O+O+O+O+O+O+O
  19749. %U%U%U%U%UI1I1I1I1I1I1I1I1I1I
  19750. O+O+O+O+O+O+O+O+
  19751. %U%U%U%U%UI1I1I1I1I
  19752. OO+O+O+O+O+O+O+O+P*P+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+OO+O+O+O+O+O+O+O+P*P+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+OO+O+O+O+O+O+O
  19753. O+O+O+O+O+O+O
  19754. O+O+O+Oz
  19755. +O+O+O+O+%
  19756. %OO+O+O+
  19757. O+O+O+O+O+O+O
  19758. O+O+O+O+O+O+O+O+O
  19759. %OO+O+O+O+O+
  19760. O+O+O+O+O+O+O+O+OO+O+O+O+
  19761. O+O+O+O+O+O,N,O+O+O+O+O+O+O+O+O+O+O+O+O+O+OO+O+
  19762. +O+O+O+O+O+O+O+O+O+O+O
  19763. O+O+O+O+O+O+O+O+O
  19764. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  19765. O+O+O+O+O+O+
  19766. O+O+O
  19767. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  19768. +O+O+O+O
  19769. O+O+O
  19770. O+O+O+O+O+O+O+O+O
  19771. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  19772. O+O+O+O+O+O+O+O+O
  19773. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  19774. O+O+O+O+O+O+O+O+O
  19775. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  19776. O+O+O+O+O+O+O+O+O
  19777. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  19778. O+O+O+O+O+O+O+O+O
  19779. O+O+O+O+O+O+O+O+O+O+O+O
  19780. +O+O+O
  19781. O+O+O+O+O+%
  19782. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  19783. I1I1I1I1I1I1I1I
  19784. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  19785. I1I1I1I1I1I1I1I
  19786. O+O+O+
  19787. O+O+O+O+O
  19788. O+O+O+O+O+O+O+O+O+O
  19789. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  19790. O+O+O+O+O+O+O+O+O+O
  19791. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  19792. O+O+O+O+O
  19793. O+O+O
  19794. O+O+O+O+O+O+O+O{z
  19795. O+O+O+O+O+O+O+O+O
  19796. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  19797. O+O+O+O+O+O+O+O+O
  19798. O+O+O+O+O+O+O+O+O+O
  19799. +O+O+O+O+O
  19800. O+O+O+O+O+O+O+O+O
  19801. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  19802. O+O+O+O+O+O+O+O+O
  19803. O+O+O+O+O+O+O+O+O+O+O+O+O+
  19804. aps it might be time to switch.
  19805. *The announcement, as quoted on the company's website, says: 'Beginning with the 8.0 release, Red Hat will provide errata maintenance for at least 12 months from the date of initial release. At certain times, Red Hat may extend errata maintenance for certain popular releases of the operating system.'
  19806. *Twelve months. One year. That means that Red Hat Linux 8, which was released just before the end of last year, will officially be obsolete, as far as Red Hat i
  19807. s concerned, on 31 December 2003. The same goes for versions 7.1 to 7.3, while Red Hat 7 and 6.2 will already have been 'End Of Lifed' by the time you read this - the official last support date is 31 March 2003.
  19808. *Now, in principle, we agree that people should keep their systems reasonably current, but allowing just one year for bug fixes and security updates on something as important as an operating system is plain wrong in our view. Many organisations, after they've installed an OS, don't
  19809.  want to go through the pain of a major upgrade unless they really need to. That's the case whether the OS in question is residing on desktop machines or - more significantly - on servers, where any downtime at all becomes a serious problem.
  19810. *Of course, all manufacturers have to put a limit on the amount of support they're willing to provide, as no-one can afford to keep supporting software that's ten years old once several later versions have been released. But to drop support for somethi
  19811. ng only a year after it was introduced is a bit too eager for comfort. This 12-month lifespan, we should point out, only applies to the 'standard' release of Red Hat Linux. If you fork out for the Advanced Server version, you get up to five years of 'errata maintenance', which is fine, but requires the purchase of an annual subscription ranging from $799-$2,499 (
  19812. 1,560) per copy. 
  19813. *We completely understand that Red Hat survives on the revenue provided by support contracts and the like
  19814. , but we still have serious problems with it basically telling us that we have to perform a major upgrade at least once a year. Contrast that with Microsoft's approach: it's still supporting Windows NT and has only recently killed off MS-DOS. It's not often Microsoft does something we think the Linux community should emulate, but this is one of those times. And in the meantime, we may well be looking at a different, longer-lived distribution the next time we have to upgrade our Linux serve
  19815. **MySQL grows up
  19816. *At the time of writing, Ian is creating a new training course for Learning Tree International. Entitled 'MySQL: Database Administration and Web Development', it will cover installing and configuring MySQL, and using PHP to create database-enabled web apps. We've never examined MySQL in much depth in these pages, so with the final release of version 4 due by the time you read this, we thought now would be a good time to talk about what's available in the new version a
  19817. nd what's due in upcoming releases.
  19818. *There's always a major debate when Unix folk talk about which relational database management system (RDBMS) should be used for a particular project. Like too many other Unix-related subjects, this topic seems to bring out the zealot in people. Oracle users will tell you that theirs is the only sensible choice, while DB2 users will argue that, on the contrary, DB2 is the only way to go; and both will agree, at the very least, that you should never consid
  19819. er using an open-source solution.
  19820. *We (of course) disagree, as we've been using MySQL for years and have found it to be fast, reliable and capable of doing virtually everything we need. Are you spitting out your espresso and reaching for the keyboard to email us a vitriolic response yet? Well, hold your horses. Give us the benefit of the doubt for a few minutes and we'll try to explain why we think MySQL is so good for many web-based apps and, with the release of version 4 (and upcoming 4.
  19821. 1 and 5), why we think a lot of companies will start to treat it more seriously in the future for other apps too.
  19822. *Let's get one thing straight: we're not suggesting all the world's financial centres should immediately switch from whatever they're currently using to MySQL. However, for specific types of application, MySQL is probably better - and faster - than almost anything else out there. It excels in those situations where there are many read and few write requests to the database tabl
  19823. es, which pretty much defines the majority of web apps. 
  19824. *Yes, systems often do have to write to tables, but the vast majority of accesses are to read values, and in that sort of case, especially where the actual SQL queries are not too complex, MySQL is blazingly fast. Indeed, some benchmark tests suggest it's faster than almost every commercial RDBMS out there, including the heavyweights. Not that you'll see such benchmark figures on the MySQL website (<A HREF="http://www.mysql.com" targ
  19825. et="_BLANK">www.mysql.com</A>), as restrictions in the licence agreements for many commercial RDBMS prohibit posting benchmark results without the manufacturers' consent.
  19826. *Another big advantage of MySQL is that it's free for most people. In the majority of cases, you can use it under the GNU Public Licence, which allows you to implement it wherever you want. However, there are some situations (such as if you plan to use it as an integral part of your own commercial application) where you h
  19827. ave to pay a licence fee. There are also support contracts available, which - along with training - is where MySQL makes its money. While we believe MySQL is easy to install, sufficiently stable and unlikely to need much in the way of support, it doesn't cost that much and helps the company pay for the development of future versions of the software, so you should at least consider taking a contract.
  19828. *So what's not to like about MySQL? It's true that if you're using the version of the progr
  19829. am that's considered the 'stable release' - as we write it's 3.23.55 - there are some limitations, although probably not as many as you might expect if you haven't looked at it recently. For example, a common belief is that MySQL doesn't support table locking or transactions, both of which are important for apps where data integrity is paramount. In fact, the system has supported both these features for some time now, and transaction processing in particular is well tested and stable.
  19830. re are still some limitations, though, in terms of SQL compliance, probably the most significant one for many people being the lack of subselects. True, there are ways around this, especially if you're accessing MySQL via a language such as Perl, PHP or Java, but it's still a deal-breaker for some people. Also missing are views, triggers and stored procedures - again, all things that can be coded around, but which, in an ideal world, should be part of the RDBMS subsystem. 
  19831. *The good news i
  19832. s that version 4 of MySQL, which should be available in a stable form by the time you read this, provides the basis for most, if not all, of those features to be added in the future. Although there aren't many significant changes to SQL support in version 4 itself, the engine has been rewritten to make future additions easier. For example, version 4.1 - in alpha as we write - will support nested queries (subselects), while version 5 should feature stored procedures and maybe triggers and v
  19833. iews.
  19834. *If you haven't investigated MySQL before - either because you've heard that it's lacking in features or because you'd never heard of it - we highly recommend you check it out. And yes, we do know that PostgreSQL, another open-source RDBMS, supports many of the features that MySQL is lacking. Please don't flay us alive for preferring one over the other.
  19835. **I fink, therefore I am
  19836. *Finally, we'd like to draw the attention of Mac OS X users to two neat utilities that you might not have 
  19837. come across, the first of which is an Apple-developed X11 server. The X Window system (X11 is the current version) is the de facto windowing system for Unix, on top of which you run a 'window manager' such as GNOME or KDE that creates the actual look and feel of the graphical interface the user sees. 
  19838. *When Apple came out with OS X, despite the fact that it uses a Unix subsystem, it had no X server and therefore no X-based programs would run. Several people found workarounds, and at least 
  19839. a couple of X servers were developed, most notably XDarwin. None of these had the full Mac look-and-feel, although a fork of XDarwin called OroborOSX (<A HREF="http://oroborosx.sourceforge.net" target="_BLANK">oroborosx.sourceforge.net</A>) provides a decent facsimile.
  19840. *A few weeks ago, Apple released its own X11 server called (with great imagination) X11 for Mac OS X. There are a couple of advantages to this particular server. First, it exploits OS X's Quartz graphics subsystem, so most n
  19841. ew Macs will be able to deliver full hardware acceleration to X11 programs. Its second advantage is that it integrates better with the standard OS X look and feel than any other Unix window manager. For example, you can easily copy and paste between OS X and X11 apps and minimise individual windows to the dock. So if you have a favourite X Window application (such as The GIMP or OpenOffice), you can now run it on your Mac and probably won't even realise that it's not a 'standard' applicati
  19842. *The second utility we want to draw your attention to is Fink (<A HREF="http://fink.sourceforge.net" target="_BLANK">fink.sourceforge.net</A>). The Fink project aims to provide all of those lovely Unix utilities out there to Mac users, without the hassle of compiling them yourself. Once you've downloaded the Fink utility itself, you can choose from hundreds of Unix utilities and apps, which will be seamlessly downloaded and installed for you. You don't have to be a Unix expert, or unde
  19843. rstand the intricacies of compiling and installing software, as it has all been done for you. 
  19844. *If, for example, you're interested in MySQL, which we talked about earlier, you can download and install it within five minutes (assuming you have a fast Internet connection). Some developers already provide compiled versions of their utilities that will run on OS X without any extra work, and some can be easily compiled by yourself, but if you don't want to get your hands dirty, Fink is a neat 
  19845. and useful application.
  19846. *And for those of you who still turn up your noses at the Mac: have you actually looked at OS X recently? A few weeks ago, we bought a new PC laptop and installed Windows XP Professional on it. We then spent about half a day installing all the other stuff we wanted - utilities like dig, languages like Perl and so on. We ended up installing the Cygwin package, which provides many Unix utilities on the PC, but it wasn't exactly a fun experience. Mac OS X, on the other
  19847. l hand, has all of this stuff available out of the box, because it's Unix to begin with. 
  19848. *For many Unix developers and hackers, the iBook and PowerBook are rapidly becoming the laptops of choice. Check them out - we don't think you'll be disappointed. (But then, both of us have been using Macs since the days of the Mac Plus, so maybe we're just a little biased.)
  19849. HcSimon Brock and Ian Wrigley take Red Hat to task for no longer supporting several releases of LinuxL
  19850. May 2003X
  19851. 103 (May 2003)i
  19852. Paul Ockenden and Mark NewtonD
  19853. Search me!
  19854. fizzledH
  19855. fizzy
  19856. fjords
  19857. flack
  19858. flagG
  19859. flaggedU
  19860. flaggingc
  19861. flagrant
  19862. flagsI
  19863. flagship
  19864. flagships
  19865. flail|
  19866. flailing
  19867. flair
  19868. flakey
  19869. flakier
  19870. flakiness
  19871. flaky
  19872. flamboyant
  19873. fluffyI
  19874. fluidJ
  19875. fluidityJ
  19876. flukeY
  19877. flushdnsV
  19878. flusheds
  19879. fly-out
  19880. flyersc
  19881. flyingT
  19882. fo2pixn
  19883. focusn
  19884. macintosh-formatN
  19885. macintoshes
  19886. mackiea
  19887. maclibel
  19888. macmillan
  19889. macola
  19890. macola's
  19891. macos
  19892. macroH
  19893. madameP
  19894. maddening[
  19895. madeA
  19896. performanceB
  19897. storesP
  19898. storiesQ
  19899. storingB
  19900. storing-and-forwardi
  19901. storm}
  19902. storming
  19903. applescriptM
  19904. appleshare
  19905. appleshare-over-ip
  19906. applestores
  19907. applet]
  19908. applet's
  19909. applet/applications
  19910. appletalk
  19911. appletalk-compatible
  19912. appletree
  19913. applets
  19914. appleworks
  19915. applianceY
  19916. appliance's
  19917. appliancesA
  19918. applicability
  19919. x-basede
  19920. x-co-ordinate
  19921. x-eudora-option
  19922. x-eyes
  19923. x-files
  19924. x-friendly
  19925. x-height
  19926. x-hour
  19927. x-no-archive
  19928. x-rated
  19929. x-windows
  19930. x-windows-alike
  19931. x/open
  19932. x0000
  19933. x116.3
  19934. x1200
  19935. x3ymjayas
  19936. xanadu
  19937. created
  19938. company
  19939. called
  19940. computer
  19941. concepts
  19942. which
  19943. xara's
  19944. xara3d
  19945. xaraonline
  19946. xarraydb
  19947. xaudio
  19948. xbox365
  19949. xceed
  19950. xceedsoft
  19951. xclip
  19952. xcopy
  19953. xcuse
  19954. xdarwine
  19955. xdefaults
  19956. xdesigner
  19957. xdm/cde
  19958. xdocsT
  19959. xdrive
  19960. xdsl-connected
  19961. xe'sk
  19962. xeena
  19963. xelfi
  19964. xelfi's
  19965. xenicalt
  19966. xenix
  19967. seconde
  19968. seconde
  19969. second's@
  19970. secondcopy@
  19971. seconds
  19972. secpay
  19973. secret@
  19974. secrets@
  19975. section
  19976. sections
  19977. sectors@
  19978. securebat
  19979. securitae@
  19980. security
  19981. security-conscious
  19982. security-wise
  19983. seduced
  19984. see/edit
  19985. seek@
  19986. seem@
  19987. seemed@
  19988. seemingly@
  19989. seems
  19990. segmented
  19991. seizes@
  19992. select@
  19993. selectability@
  19994. selectedanswer@
  19995. selecting
  19996. selection@
  19997. self-confessed@
  19998. self-describing@
  19999. self-repairing
  20000. self-restoring@
  20001. sell-by@
  20002. sellotape@
  20003. semi-detached
  20004. semi-perishable
  20005. semi-professional@
  20006. semicolon@
  20007. send/receive
  20008. send/rpc
  20009. senderrorreport@
  20010. sendmail@
  20011. sensation
  20012. sensationalist@
  20013. sense
  20014. sensed
  20015. sensibilities
  20016. Probably the most common question that web agencies will be asked by their clients is, 'How do I  make sure my site is at the top of the list in the search engines?' Most of us have our own little hints and tips about how to get onto the front page of AltaVista or near the top of the list on Google.
  20017. *I'll tell you about my favourite in a moment, but first let's take a look at how search engines rank sites. To start with, they have to find your site, and it's one of the great Internet myths
  20018.  that search engines can 'seek out' new sites. Clients worry that their site under development will be discovered by the search engines, so we often have to plaster multiple levels of passwords on top of them to give security more suited to Fort Knox than a simple brand website. In reality, the only way a search engine will discover your site is either because the site is linked to or from another, already-indexed site, or because you've submitted the site yourself using the 'add my site' 
  20019. facility (or one of the multiple submission services).
  20020. *Once a search engine knows about your site, it will index it. This involves sending one or more automated agents, or 'spiders', to work their way through the site, following the links found. You may hear this indexing process referred to as 'spidering'. It's worth noting that you can stop the search engines from indexing certain pages or sections of your site, which you may want to do if they have very limited lifetimes; for example, 
  20021. a page of today's news. To exclude such pages, simply create a file called robots.txt and place it in the root directory of your site. The format of this file is as follows:
  20022. *User-agent: 
  20023. **Disallow: /scripts/
  20024. *Disallow: /news/
  20025. *Disallow: /backend/admin/
  20026. **The first line specifies which search engines to exclude: an asterisk is a wildcard, meaning that all search engines should obey the following rules, a list of directories that the engines should ignore. You can even specify an individu
  20027. al pages, as in: Disallow: /backend/admin/logon.php
  20028. **Add comments to your robots.txt file by preceding them with the # character: Disallow: /news/ # No point in indexing these, as they are changed every day.
  20029. *Different search engines have different spidering rules. Some like Google trawl through the entire site, while others like AltaVista only follow links to a few levels. Either way, they're interested in text and won't take any notice of pictures, so if you've used rendered text for y
  20030. our headlines the search engines won't see it. What's more, you can't even rely on duplicating the text in the Alt tags of such images because, although Google and AltaVista will now see it, the increasingly prevalent Inktomi-based search engines won't.
  20031. *Meta tags are now pretty much dead and buried (see Mark Antony on meta tags), and the parts of your page the search engines are really interested are its main content - the text - and its title. The title's particularly important, as some 
  20032. engines now treat this as the main indicator of what's on the page. Another key to your ranking within the better search engines is the popularity of your site, by which I don't mean your total traffic or the size of your log files, but rather how many other sites link to yours. A good set of incoming links from sites that are themselves popular will push you way up the rankings.
  20033. *A useful site for keeping up with the various search engines and their current indexing and ranking rules, is 
  20034. <A HREF="http://searchenginewatch.com" target="_BLANK">searchenginewatch.com</A>. The articles are very good, although some of the more 'juicy' information is only available to paid subscribers.
  20035. *Given that you know the various rules these engines use to rank sites, it should be relatively easy to play tricks on them and cheat your way to the top of the listings. There's a whole industry of companies that will tinker with your site, link to it from loads of other fake sites, repeatedly sub
  20036. mit it, submit certain pages as well as the front page, and do all kinds of other things to get you to the top of the results list. 
  20037. *Of course, the search engines' proprietors don't like this, as it makes their results less useful and annoys users - if someone searches for Henry VIII, they don't want a site trying to sell weight-loss tablets. As a result, the search engines actively seek those sites that try to cheat and apply weighting factors to ensure these sites sink down to the botto
  20038. m of the list. And so begins a game of 'cat and mouse', where the site-promotion companies find new ways to cheat, and the search engines discover those cheats and penalise the sites that use them. It's a never-ending cycle.
  20039. *Now seems like a good time to tell you about that cracking 'hot tip' I promised earlier, the one guaranteed to get you good search engine rankings. My hot tip is: don't use tips and tricks. Ultimately, you can't fool the search engines, and if you try to cheat your wa
  20040. y to the top they'll find you and penalise your site. The only reliable way to get near the top and stay there is to have a popular site with good, strong, relevant content, which is updated on a regular basis. All the search engines are trying to do is show the best sites at the top of their list, so if you want to be there build a 'best site'.
  20041. **Free web design
  20042. *Sometimes you need some inspiration for a website design, and just the other day Mark stumbled across the Open Source Web Desi
  20043. gn site (<A HREF="http://www.oswd.org" target="_BLANK">www.oswd.org</A>), which is full of sample designs. The best bit about these designs is that as they're all open source, so you can, if you want to, take one and use it for your own. The site allows visitors to vote on the designs as well, which encourages improvement in the quality of the submissions. It's a great platform for very talented people - some of whom appear to still be at school - to show what they can do. 
  20044. **Flash remoti
  20045. ng and web services
  20046. *Previously, we've covered how to build your own Web Service. This month, Mark has a go at doing something useful with one. For those of you who weren't paying attention last time, a Web Service is a component that sits on your web server and, when queried, returns data in XML form to your web application. Web Services are a key part of Microsoft's .NET technology, although they aren't limited to Microsoft operating systems. The original idea was for Web Services to sit
  20047.  out on the Internet and be accessed by many other sites either on a paying or free basis. 
  20048. *This use is seen as secondary by Microsoft, which now prefers to stress Web Services as a core technology for providing data streams to your own line-of-business applications and websites (perhaps also for business-to-business transactions with trusted partners). But the original vision put forward by Mr Gates of a 'great calendar in the sky' that many sites could access has been put on hold. Micro
  20049. soft says that having spoken to its customers, they don't want this, but we suspect it's more a problem of security and Denial-of-Service attacks that could render such services more of a liability than a benefit. 
  20050. *Web Services certainly provide a very useful way of separating the business model from the design environment, but getting the XML data stream into something that looks good on your web page is somewhat harder. Macromedia's Flash has always been popular with designers for its i
  20051. ncredible flexibility and ease of animation, and successive versions have brought many enhancements to assist in building user interfaces. The latest version, Flash MX, can now be considered a UI design tool of choice for web applications. However, building a UI is all very well (and the sort of thing that can be left to your designers), but how do you get data in and out of Flash? There are several ways of doing this; from the early 'kludges' to the latest scheme called Flash Remoting, wh
  20052. ich we'll be investigating here.
  20053. *As with most things Macromedia nowadays, connecting client-side products with server-side stuff is a lot easier if the server side is Macromedia's own ColdFusion. Never being ones to take the easy way out though, we'll show you how to connect a Flash MX application to ASP .NET (but it could be any Web Service). Macromedia provides Flash Remoting as the 'glue' technology for this purpose, and it works by creating a gateway on the web server between the clie
  20054. nt-side Flash application and the server-side Web Service. 
  20055. *Take a look at <A HREF="http://www.macromedia.com/desdev/mx/flashremoting" target="_BLANK">www.macromedia.com/desdev/mx/flashremoting</A>, and from there you can download a trial version of Flash Remoting. After installing this on your web server, take your Flash application and put the following code into the onClipEvent for the relevant frame: #include "NetServices.as"
  20056. *Make sure the file netservices.as is where you say it is, 
  20057. otherwise when you run your Flash movie in development mode you won't see 'running netservices' in the output window. The next bit of code just makes sure this gateway isn't called more than once, which would consume more resources than necessary: if (inited == null)  { inited = true;
  20058. *Now we need to connect to the Flash Remoting Gateway, which is installed on your web server. Ensure that a web server is configured on the port that the gateway is looking at, and that this port isn't blocke
  20059. d by any firewalls. To check this service is running, open the 'service browser' in Flash, which will show you the URL of any gateway services that are running: NetServices.setDefaultGatewayUrl ("http://your_server_IP:8500/flashservices/gateway");
  20060. *Next, create a connection object in the usual way: gateway_conn = NetServices.createGatewayConnection();
  20061. *The final bit of 'wiring up' is to get a reference to the Web Service, which is normally the WSDL (web service description language) file. 
  20062. Pointing your browser at this file - either on your own web server or on another on the Internet somewhere - should get you a page of XML, which is a simple check that you're referencing the correct file: MyService = gateway_conn.getService ("http://your_web _server_URL/ webservice.asmx?WSDL", this);}
  20063. *If everything is set up correctly, you need to extract the data into your Flash application. In our example, we provide a button that, when clicked, will call the Web Service, which returns 
  20064. an XML text stream containing 'Hello World' for the Flash application to display in a textbox. All simple stuff, but if you can get this working you have the tricky bit of configuration sorted - the rest is down to your imagination. 
  20065. *On the subject of getting things to work, Flash has a fairly good debugging system, with breakpoints and watches as well as variable browsers. This doesn't put it on a par with 'proper' development languages, but it's much better than most web-authoring appli
  20066. cations. One problem we encountered with Flash's variable browser while testing Web Services is that it doesn't seem to refresh when you want it to. However, help is at hand via the Trace command, which is rather like Alert in JavaScript, MsgBox in VB or Response.write in ASP. These write text or a variable's value to either a user dialog box or - in the case of Flash - to its output window. This is invaluable when testing any Web Service, as often the result of a small error is that the w
  20067. hole thing fails to work, but with no error messages generated you're left wondering what's going on. It's always a problem when debugging decoupled solutions like Web Services and, while it's getting easier, there's still some way to go - you'll find yourself resorting to the older and cruder tricks at times.
  20068. *So, back to the code. We need a function that can be called when a button is clicked: function go_Clicked () {
  20069. *All that's needed here is a call to the function in the Web Service w
  20070. e're referencing (called, rather unimaginatively, 'HelloWorld'), so we write: myService.HelloWorld(); }
  20071. *The next two functions handle the returned data from the Web Service - these functions have the same name as the called function in the Web Service, but with _Result and _Status appended to them. The first function HelloWorld_Result will be called if the Web Service returns any data, while the second, HelloWorld_Status, will return any errors. Both these functions replace the contents o
  20072. f Text_Box with the data returned from the Web Service, not as XML but plain text:
  20073. *function HelloWorld_Result(result)
  20074. *Text_Box.text = result;
  20075. *function HelloWorld_Status(result)
  20076. *Text_Box.text = error.description;
  20077. *stop();
  20078. *This example is simple, but extending it isn't difficult. We found the most difficult part was the initial configuration and getting everything talking to each other. If you want some Web Services to test with, but don't want to write your own, check out 
  20079. k<A HREF="http://www.xmethods.com" target="_BLANK">www.xmethods.com</A>, which has plenty to try. However, while we were writing this column, the site went down, causing much puzzlement when our code wouldn't work. It was some time before we realised that the target site was down and our code was fine. The lesson is never forget to test for the bleedin' obvious!
  20080. HRPaul Ockenden gets spotted by search engines, while Mark Newton discreetly flashesL
  20081. May 2003X
  20082. 103 (May 2003)i
  20083. Web Business
  20084. Jon HoneyballD
  20085. The Office
  20086. searchableK
  20087. searchassistant
  20088. searchedI
  20089. searchenginewatchf
  20090. searcher
  20091. searchers
  20092. searchesI
  20093. searchingO
  20094. searchlight
  20095. likelyD
  20096. O+O+O+O+O+O+O+O+O+O
  20097. +O+O+O+O+z
  20098. +O+O+OO+O+O+O+O+O+O+O+O+O
  20099. O+O+O+O
  20100. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  20101. O+O+O+O+O+O+O+O
  20102. O+O+O+O+O+O
  20103. OO+O+O
  20104. O+O+O+O
  20105. O+O+O+O+O+O+O+O
  20106. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  20107. O+O+O+O+O+O+O+O
  20108. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  20109. O+O+O+O+O+O+O+O
  20110. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  20111. O+O+O+O+O+O+O+O
  20112. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  20113. O+O+O+O+O+O+O+O
  20114. O+O+O+O+O+O+O+O+O+O+O+O
  20115. +O+O+O+O
  20116. O+O+O+O+O+O+%
  20117. OO+O+
  20118. O+O+O+O+O+O+O+O+O
  20119. I1I1I1I1I1I1I1I
  20120. OO+O+
  20121. O+O+O+O+O+O+O+O+O
  20122. I1I1I1I1I1I1I1I
  20123. OO+O+
  20124. O+O+O+O+O+O+O+O+O+O
  20125. O+*{z
  20126. +O+O+O+O
  20127. O+O+O+O+O+O+O+O
  20128. %U%UI1I1I1I1I1I1I1I1I1I
  20129. +O+O+O+O+O
  20130. O+O+O+O+O+O+O+O
  20131. %U%UI1I1I1I1I1I1I1I1I1I
  20132. +O+O+O+O+O
  20133. O+O+O+O+O+O+O+O
  20134. %U%UI1
  20135. I1I1I1I1I1I1I1I1I
  20136. +O+O+O+O+O
  20137. O+O+O+O+O+O+O+O
  20138. %U%UI1I1I1I1I1I1I1I1I1I
  20139. +O+O+O+O+O
  20140. O+O+O+O+O+O+O+O
  20141. %U%UI1I1I1I1I1I1I1I1I1I
  20142. +O+O+O+O
  20143. O+O+O+O+O+O+O+O
  20144. O+O+O+O
  20145. O+O+O+O
  20146. bottom-of-rangeM
  20147. bottom-of-the-range
  20148. bottom-tier
  20149. bottom-up
  20150. bottomleft
  20151. bottoms
  20152. boughtB
  20153. boundsd
  20154. bovver
  20155. bowden
  20156. bowed]
  20157. bowels
  20158. bowieI
  20159. bowled
  20160. bowling
  20161. bowlsJ
  20162. cracksY
  20163. cradlep
  20164. cradle's
  20165. cradles
  20166. craft[
  20167. craftedw
  20168. crafts
  20169. craftsmen
  20170. craigA
  20171. cram-hmac-md5
  20172. crammedb
  20173. ampeda
  20174. crampon
  20175. cramps
  20176. crams
  20177. crane
  20178. crankA
  20179. cranked
  20180. cranky
  20181. crannies
  20182. crapG
  20183. crappy
  20184. craquelure
  20185. crashl
  20186. crash-inducing
  20187. O+O+O
  20188. O+O+O+O+O+O+O+O+O+O+O+O
  20189. %UI1I1I1I1I1I1I1I1I1I
  20190. O+O+O+O+O+O+O+O+O+O+O+O+O
  20191. OO+O+O
  20192. O+O+O+O+O+O+O
  20193. %UI1I1I1I1I1I1I1I1I1I
  20194. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  20195. %UI1I1I1I1I1I1I1I1I1I
  20196. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  20197. %UI1I1I1
  20198. I1I1I1I1I1I1I
  20199. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  20200. %UI1I1I1I1I1I1I1I1I1I
  20201. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  20202. %UI1I1I1I1I1I1I1I1I1I
  20203. O+O+O+O+O+O
  20204. +O+O+O+O+O+O+O+O
  20205. %UI1$
  20206. O+O+O+O
  20207. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  20208. O+O+O+O+O+O+O+O+O+O
  20209. O+O+O+O+O+O
  20210. +O+O+OO+O+O+O+O+O+O+O+O+O
  20211. +O+O+O
  20212. +O+O+OO+O+O+O+O+O+O+O+O+O
  20213. O+O+O+O+O+O+O
  20214. +O+OO+O+O+O+O+O+O+O+O+O
  20215. O+O+O+O+O+O+O+O+O+O+O+O
  20216. +O+OO+O+Oz
  20217. +O+O+O+O
  20218. O+O+O
  20219. O+O+O+O+O+O+O+O+O
  20220. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  20221. O+O+O+O+O+O+O+O+O
  20222. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  20223. O+O+O+O+O+O+O+O+O
  20224. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  20225. O+O+O+O+O+O+O+O+O
  20226. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  20227. O+O+O+O+O+O+O+O+O
  20228. O+O+O+O+O+O+O+O+O+O+O+O
  20229. +O+O+O
  20230. O+O+O+O+O+O+O+%
  20231. O+O+O+O+O+O+O+O+O+O+O+O+
  20232. O+O+O+O+O+O+O+O+O+O
  20233. %U%U%U%U%U%U%U
  20234. +O+O+O
  20235. com/downloads/2002/t^
  20236. com/downloads/defaul
  20237. com/downloads/mssgsu
  20238. com/downloads/patche
  20239. com/downloads/s5-sr1
  20240. com/downloads/sample
  20241. com/downloads/search
  20242. com/downloads/t
  20243. com/ea/lpeutil
  20244. com/ecdc-win2k
  20245. com/email/upgrade
  20246. com/emailsecurity
  20247. com/en-us/srchasst/s
  20248. com/en/eindex
  20249. com/enable
  20250. com/eng
  20251. com/eng/mozilla/3.0
  20252. com/epoc
  20253. com/errorS
  20254. com/excel/enhancemen
  20255. com/exchange
  20256. com/exchange/add-ins
  20257. com/exchange/flash
  20258. com/exec/panama/assoI
  20259. com/faq
  20260. com/files/attopt
  20261. com/find
  20262. com/firstpage
  20263. com/flicks
  20264. com/foldoc/index
  20265. com/form
  20266. com/forum/showth
  20267. com/found
  20268. com/frame
  20269. com/freestyle
  20270. com/freeuk
  20271. com/freeware/qpop
  20272. com/frontpage/resour
  20273. om/hotapplepi/airpo
  20274. com/html/eng/plbeam
  20275. com/html/typelib
  20276. com/htmlnav/index
  20277. com/ibuyspycs/defaul
  20278. com/ic/products/cd/e
  20279. com/ical
  20280. initialG
  20281. initialisation
  20282. initialisation/final
  20283. initialisations
  20284. initialise
  20285. initialiseds
  20286. O+O+O+O+O+O
  20287. OO+O+O
  20288. O+O+O+O+O+O+O
  20289. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  20290. O+O+O+O+O+O+O+O+O
  20291. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  20292. O+O+O+O+O+O+O+O+O
  20293. +O+O+O+O+O
  20294. O+O+O+O+O+O+O+O+O+O
  20295. O+O+O+O+O+O+O+O+O
  20296. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  20297. O+O+O+O+O+O+O+O+O
  20298. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  20299. +O+O+O+O+O+O+O
  20300. +O+O+O$
  20301. O+O+O+O
  20302. O+O+O+O+O+O+O+
  20303. +O+O+
  20304. +O+O+OO+O+O+O+O+O+O+O+O+O
  20305. %U%U%U%U%
  20306. +OO+O+O+O+O+O+O+O+O+O
  20307. O+O+O+O
  20308. O+O+O
  20309. +O+OO+O+O+O+O+O+O+O+O+O
  20310. O+O+O+O+O+O+O+O+O
  20311. +O+O+OO+
  20312. O+O+O
  20313. O+O+O+O+O+O+O+O+O
  20314. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  20315. O+O+O+O+O+O+O+O+O
  20316. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  20317. O+O+O+O+O+O+O+O+O
  20318. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  20319. O+O+O+O+O+O+O+O+O
  20320. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  20321. O+O+O+O+O+O+O+O+O
  20322. O+O+O+O+O+O+O+O+O+O+O+O
  20323. +O+O+O
  20324. O+O+O+O+O+O+O+%
  20325. O+O+O+O+O+O+O+O+O+O+O+O+O+
  20326. +O+O+
  20327. +O+O+O+
  20328. +O+O+O+O+OO+O+O+O+
  20329. O+O+O+O+O
  20330. +O+O+O+O+O+O
  20331. I+O+O
  20332. +O+O+O+
  20333. evera
  20334. vented
  20335. spleen
  20336. email
  20337. davey
  20338. wondered
  20339. self-produced
  20340. audio
  20341. sound
  20342. weedy
  20343. everex
  20344. every
  20345. everybody
  20346. everyday
  20347. everyone
  20348. everything
  20349. everything
  20350. wanted
  20351. about
  20352. image
  20353. resolution
  20354. everywhere
  20355. evnull
  20356. evolution
  20357. exactly
  20358. examination
  20359. findingsl
  20360. findsD
  20361. firewall
  20362. first
  20363. fishesM
  20364. flash
  20365. flashed
  20366. flashesf
  20367. flex-ibility
  20368. folders
  20369. footstepN
  20370. fraudsters
  20371. friendi
  20372. fromG
  20373. first
  20374. tomorrow's
  20375. xml-based
  20376. repurposi
  20377. history
  20378. I said that I'd be returning to Office 11 and here, a little later than anticipated, we are. I ought to first point out that I've been running the first beta release, which is remarkably complete and capable, and in spite of a few obvious nasty gotchas it's possible to run it all day and every day on a production desktop without major problems. 
  20379. **I started using it with the attitude that Office 11 was almost going to be an upgrade too far - too many Wizards, too much handholding, too muc
  20380. h gloss and not enough innovative thinking. However, I'll confess that I've now modified this position. I actively like working in 11 and have started to notice things missing when I go back to Office XP or 2000, which is always a sign that a new release has 'taken'.
  20381. **But - and this is a big but - I'm still finding it remarkably hard to get that rush of enthusiasm that used to accompany earlier releases of the Office product. It just seems like more of the same and, to be honest, I can d
  20382. o my day-to-day work more than adequately using Office 2000. I did try going right back to Office 97 on an older server on my network, but I soon found myself growling loudly at the raft of useful and important features I've come to rely upon over the years that were missing. Admittedly, if I were being nerdy and had the time to spare to code up some routines, most of those missing features could have been replicated using some Office Visual Basic. 
  20383. **It's quite clear, at least to me, tha
  20384. t Office 11 needed to be a forward-looking product and not just the latest in the long sequence, and in that it almost succeeds - only later beta revisions might be able to persuade me from this rather negative position. You see, if all you want is a solid word processor, spreadsheet and so forth, your existing Office licence is more than good enough. 
  20385. **To really look forward, Office 11 would have to provide lots of new capability that we can leap upon and notice the advantages. Although
  20386.  I still believe that it will eventually deliver on that score, the key new items remain tightly under wraps at Microsoft. For example, there's still little information on XDocs, the forthcoming XML-based forms and workflow engine. Once you can start to build workflow systems using XDocs, tying in to the more mainstream applications as required, this will be a big step forward. Hands up those who have ever tried to build such things using VBA.
  20387. **There's no doubt that the pen support is co
  20388. nsiderably better in Office 11 than in previous versions, which is a mixed blessing - it's probably good enough to be adequate for most people most of the time. On the other hand, I'm still far from convinced that the 'ink' data type is properly understood by developers and recognised as the primary way to move things forward. I know some companies are looking at Tablet PC and thinking about using ink in this way. For myself, I keep getting within a few inches of buying a Tablet then backi
  20389. ng away again. The problem is I still want both more and less than Tablet PC can currently deliver - more power, screen resolution and battery life; less weight, heat and physical volume.
  20390. **On the XML front, I think Microsoft is doing some great work. My fears about Microsoft's Office XML implementation have all come to nought. I thought it would fill up the XML schema with all sorts of private binary data streams, but nothing could be further from the truth. Go into Excel, set up a works
  20391. heet with formulae and so forth, and then export it to XML and everything will be laid bare for your inspection. Surprised? I was. It's even smaller and more efficient than the BIFF native Excel file format - a simple little three-cell worksheet weighs in at 13KB in Excel file format, but 4KB in XML. 
  20392. **To be fair, the XML format is much simpler than the full structured storage solution of .XLS, and as a result you can't do those complex Excel things like having a graph embedded (although
  20393.  I think this will change over time). Word from inside the Office team indicates that XML will be the primary file format from now on, and it shows in this implementation. Just look at this snippet of code (Code Listing One), which is the core definition of my three-cell, two-value, one-sum worksheet.
  20394. **This is a piece of cake to understand. There's a worksheet object called Sheet 1 and this has a row count of 6 and a column count of 2, which makes sense because my values are held in B4, 
  20395. B5 and B6. You can easily see the way the formula is constructed too: Row4 Cell2, which is B4, contains a Number of value 123; Row5 Cell2, which is B5, contains a Number of value 456; and finally Row6 Cell2,  which is B6, contains a Formula of type "=SUM(R[-2]C:R[-1]C)". It also contains a Number of value 579, which is the result of the formula - as you'd expect, the sheet stores the most recently calculated value alongside the formula itself. The XML that follows this is just basic stuff 
  20396. to do with Sheet 2 and Sheet 3, both of which contain nothing. The document information like Author and Last Saved is all stored in a preamble at the top of the file. 
  20397. **Is it possible to imagine anything more simple or clear cut than this format? You can load this XML file straight into Internet Explorer if you want, which will intelligently lay out the XML for you, or you can load it into any other XML tool you like and it will just work. There's no doubt now that Microsoft will move to
  20398.  an all-XML future for Office documents, and Office 11 is the starting point. The XML stuff in Office XP can now be seen for what it always was - an irrelevant distraction - and this is the real version to be working with.
  20399. **Office 11 on Windows 9x
  20400. *I doubt it will come as any surprise if I tell you that Office 11 won't work on any OS version prior to Windows 2000, so any Windows 95/98/ME or NT 4 installations that you have are now officially frozen out in the cold. It's hard to blame Mic
  20401. rosoft too much. If it wants to build upon the underlying APIs, then at some point it must create some sort of consistent base. 
  20402. **I can't imagine there will be many people trundling along with Pentium II/233 computers under Windows ME, who will stump up the upgrade money to buy into Office 11. These are users who are either squeezing the last remaining life out of their relatively ancient hardware and software investment - and will eventually do a clean-sweep upgrade to something more re
  20403. cent - or belong to that identifiable group of people who are perfectly happy with what they've got and have no intention of moving. 
  20404. **A couple of weeks ago, I was asked by a friend to try to sort out a printer driver problem at a local firm. I dropped by one afternoon and discovered an office stuffed with computers running WordPerfect for DOS. My eyes popped out on stalks. The head of the firm was adamant that WP/DOS did everything they needed, and that he didn't mind buying machines wi
  20405. th 'this Windows stuff' on it, provided he could get WP up and running in a full-screen DOS session. He meant Windows 95 and 98, which had been passed forward from some old hardware during the late 1990s. I never expected to see an office working on Pentium 4 machines and WordPerfect for DOS, but there you go. The boss had no objection to paying money to go to Office for Windows if it offered him a proven business benefit, but as far as he could see there was none to be gained. 
  20406. **Java bu
  20407. ndling
  20408. *Just before the world shut down for Christmas, the news was that a judge in the US has decided that Microsoft needs to bundle Sun's version of Java with the Windows platform. We all heaved a huge sigh of relief, as this Microsoft Java vs Sun Java nonsense has been going on far too long. 
  20409. **Sun claims that having the old Microsoft JVM installed on the Windows platform pollutes its chances of getting a good JVM out into general use. I think it's right - many people use the Microsoft
  20410.  JVM because it's there, but this stifles the uptake of the full JVM by 'those in the know' and by corporate sysadmins who can enforce software policy on their user base. If you're doing serious Java work, you'll need the Sun run-time or an equivalent - the Microsoft one doesn't cut the mustard. 
  20411. **I've asked Microsoft why it doesn't just ship the Sun JVM,  and have received a variety of responses - sometimes they wring their hands and say 'but there's nothing wrong with ours', which is p
  20412. atently foolish nonsense, while others claim that Microsoft's legal agreement with Sun meant that it had to ship its own JVM under tightly controlled limits, and it would all be fine if Sun stopped jumping around changing its mind all the time. The truth, as always, probably lies somewhere in between. 
  20413. **One thing is crystal clear: users weren't and aren't being best served by Microsoft's actions, and shipping a proper JVM is in everyone's benefit. So what if Sun's JVM is a competitor to 
  20414. the .NET run-time? Competition is a good thing, and if this makes Microsoft try harder than ever before with Visual Studio .NET I'm all for it. The verdict has cleared the air about the whole JVM issue - developers and users can now decide which is best for them without corporate warmongering polluting the discussion. Plus, there may even be a strange upside for Microsoft in this. 
  20415. **You might remember that some six to eight months ago, I predicted that Microsoft would buy Macromedia to g
  20416. et hold of its stunning Flash MX technology. Microsoft has nothing in the 'Universal Canvas' arena and there's no real sign of work being done there either. The firm seems to have just given up on client-side programming, which is an astonishing state of affairs. As I suggested all those months ago, too many senior Microsoft people seemed rather well versed in what Macromedia was up to, and it piqued my interest. 
  20417. **One of the key components in Macromedia's toolset is the middleware engin
  20418. e built on the J2EE Java platform: wouldn't it be ironic if Microsoft privately welcomed this clearing of the air over the Java JVM issue, thus 'allowing' the purchase of Macromedia  and enabling it to expansively claim that it fully supported both Java and .NET run-time? Obviously, the rest of the world would want some sort of reassurance that the other Macromedia tools won't be allowed to wither on the vine. Like many people, I'd be deeply displeased to see the excellent Mac development 
  20419. and run-time tools sidelined by some nefarious actions of Microsoft. Only time will tell.
  20420. **FireWire hard disks
  20421. *Here's an excellent tool for you to keep among your range of hammers. Trundle over to <a href="http://www.wiebetech.com" target="_blank">www.wiebetech.com</a> and look at the DriveDock products. These consist of a small interface box that you attach to the rear of an IDE hard drive, connecting to its power and data lines. Internally, it interfaces to FireWire, so you have an im
  20422. mediate facility to take a hard disk, pop it onto the DriveDock and mount it straight onto any desktop or server that has FireWire. 
  20423. **Which operating systems and hard disk formats interoperate depends on the computers you have available and the format on the disk; for example, a FAT32 hard disk works just fine on a Windows 2000/XP or Mac OS X computer. However, an NTFS partition will only be read by 2000/XP, and a Mac File System partition will work only on a Mac OS X computer. But these
  20424.  limitations are obvious. What's great about these interfaces is that they're designed for you to take a bare hard disk and slap it into a test computer within a matter of seconds. No fiddly IDE cables to be connected, no BIOS settings to be tweaked and, most important of all, no reboot required. Pop the drive onto the DriveDock and plug in the FireWire cable. 
  20425. **For someone like me who has to deal with a range of disks for Ghost purposes and for forensic use too, these will come as a god
  20426. send. I've ordered one of the AC-powered DriveDocks and one of the smaller devices aimed at 2.5in laptop hard disks, and I'll report back when these arrive from the US. Since Windows 2000 and XP support FireWire in the standard OS and an interface card costs peanuts, do you have any excuse for not having FireWire?
  20427. **Mac emulators
  20428. *Just a final word on the performance of Connectix's Virtual PC emulator for Macintosh OS X. With the release of 10.2.3, there has been a considerable speed-up i
  20429. n the core operating system, and nowhere can you see this better than when running Virtual PC. My battered, tired, but oh-so-stylish Macintosh Titanium PowerBook laptop may be nearly two years old, it may have a rather feeble 500MHz G4 processor, but it can now run Windows 2000 Professional in an emulator window at a perfectly usable speed. 
  20430. **I was going to buy a Tablet PC, but I'll confess that the thought of a new 1GHz 'MacTit' armed with 1GB of RAM, the excellent built-in DVD writer a
  20431. nd its gorgeous widescreen TFT panel might just push my money towards Apple yet again. Its speed running Windows 2000 Professional, XP or .NET Server would be more than good enough, and it would be far more fun than yet another boring grey laptop booting a single OS.
  20432. HiAfter a little poking around, Jon Honeyball gets used to the features in Microsoft's new kid on the blockL
  20433. April 2003X
  20434. 102 (April 2003)i
  20435. Advanced Windows
  20436. Simon JonesD
  20437. XML for Office 11
  20438. Details have been emerging over the past month as to what Microsoft has in store for developers using Office 11. All Office applications will still use the Visual Basic for Applications language and development environment, but Word and Excel will have new project types in Visual Studio .NET, which come under the name of 'Visual Studio Tools for Office'.  
  20439. **The Office 11 object models are to be extended to give support for the new XML features in Word and Excel. Both developers and end u
  20440. +O+O+O+O+O+O+O+O+
  20441. +O+O+OO+O+O+O+O+O+O+O+O+O
  20442. %U%U%U%U%U%U%UI1I1I2H2I1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I
  20443. +O+O+O+O+O+O
  20444. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  20445. %U%U%U%U%U%U%UI1I1I2H2I1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I
  20446. O+O+O+O+O+O+O+O
  20447. +O+O+O+O+OO+O
  20448. +O+O+O+O+O+O+O+O
  20449. %U%U%
  20450. +O+O+OO+O+O+O+O+O+O+O+O+O
  20451. +O+O+O
  20452. OO+O+
  20453. +O+O+OO+O
  20454. +O+O+OO+O+O+O+O+O+O+O+O+O
  20455. [%U%U%U%U%
  20456. +OO+O+O+O+O+O+O+O+O+O
  20457. O+O+O+O
  20458. +O+O+OO+O
  20459. +O+O+OO+
  20460. O+O+O+O+O+O+O
  20461. %UI1I1I1I1I1I1I1I1I1I
  20462. OO+O+O+O+O+O+O+O+O+O
  20463. I+O+O+O+O+O+O
  20464. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  20465. I+O+O+O+O+O+O
  20466. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  20467. I+O+O+O+O+O+O
  20468. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  20469. I+O+O+O+O+O+O
  20470. +O+O+O+O+O+
  20471. O+OO+O+O+O+O+O+O+O+O++
  20472. +O+O+OO+O+O+O+O+O+O+O+O+O
  20473. +O+O+O
  20474. +O+O+O
  20475. OO+O+O+O
  20476. +O+O+
  20477. +OO+O+O+O+O+O+O+O+O+O
  20478. O+O+O+z
  20479. +O+O+OO+O+O+O+O+O+O+O+O+O
  20480. O+O+O+O
  20481. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  20482. O+O+O+O+O+O
  20483. +O+O+OO+O+O+O+O+O+O+O+O+O
  20484. I+O+O+O+O+O
  20485. O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  20486. I+O+O+O+O+O
  20487. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  20488. I+O+O+O+O+O
  20489. +O+O+O+O+O+O+OO+O+O+O+O+O+O`+O+O+O
  20490. I+O+O+O+O
  20491. O+O+O+O+O+O+O+O
  20492. O+O+O+O+O
  20493. +O+O+O
  20494. +O+O+OO+O
  20495. +O+O+O+
  20496. OO+O+O+O+O
  20497. +O+O+O+O+O+OO+O
  20498. +O+O+O+O+{
  20499. +O+O+OO+O+O+O+O+O+O+O+O+O
  20500. %U%U%+
  20501. O+O+O+O+O+O+O
  20502. +O+O+OO+O+O+O+{
  20503. +O+O+O+O
  20504. O+O+O+O
  20505. O+O+O+
  20506. +O+O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  20507. O+O+O+O
  20508. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  20509. I+O+O+O+O+O
  20510. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  20511. I+O+O+O+O+O
  20512. +O+O+O+O+O+O+OO+O+
  20513. O+O+O+O+O+O+O+O
  20514. O+O+O+O
  20515. O+O+O+O+O+O+O+
  20516. +O+O+O+O+O+O
  20517. O+O+O+O+O+O+O
  20518. +O+O+O+O+O+O+O+O
  20519. O+O+O+O+O+O+O+%
  20520. +OO+O+O+O+O+O
  20521. +O+O+OO+O+O+O+{
  20522. +O+O+O+O
  20523. O+O+O+O+O+O+O
  20524. alwaysD
  20525. O+O+O+O+P*P+O+O+O+O+O+O+O+O+O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+P*P+O+O+O+O+O+O+O+O+O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+P*P+O+O
  20526. +O+O+O+O+O+O+O+O+O+O+*
  20527. P*P+O+O+O+O+O+O+O+O+O+O+O+
  20528. +O+O+
  20529. +O+O+OO+
  20530. +O+O+OO+O+O+O+O+O+O+O+O+O
  20531. O+O+O+O+O+
  20532. O+O+O+O
  20533. +O+O+OO+O+O+O+O+O+O+O+O+O
  20534. %U%U%+
  20535. O+O+O+O+O+O+O
  20536. +O+O+OO+O+O+O+{
  20537. +O+O+O+O
  20538. O+O+O+O+O+O+O
  20539. O+O+O
  20540. +O+O+
  20541. +O+O+O+O+O+O
  20542. O+O+O+O+O+O+O+O+O
  20543. O+O+O+O+O+O
  20544. +O+O+O+O+O+O+O+O+O
  20545. O+O+O+O+O+O+O+O+O
  20546. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  20547. O+O+O+O+O+O+O+O+O
  20548. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  20549. O+O+O+O
  20550. +O+O+O+O+O
  20551. O+O+O+O
  20552. O+O+O+O+O+O+O
  20553. +O+O+O+O+O+O
  20554. +O+O+O
  20555. +O+O+OO+O
  20556. +O+O+O+O+O+O
  20557. +O+O+O+O+O+O
  20558. +O+O+O+O+O+O+OO+O+O+O+ZO+O+O+O+O
  20559. +O+O+O+O+O+OO+O+O+O+O+O+O+O
  20560. O+O+O+O+O+OO+
  20561. +O+O+
  20562. +OO+O+O+O+z
  20563. +O+O+O+O
  20564. O+O+O+O
  20565. O+O+Oz
  20566. laidg
  20567. laid-back
  20568. laid-out
  20569. laissez
  20570. laissez-faire
  20571. lamb's
  20572. lame-brained
  20573. lamely
  20574. lammle
  20575. lamps
  20576. ndline
  20577. landmark
  20578. lands
  20579. O+O+O+O+O
  20580. O+O+O+O+O+O+O+O+O+O+O+O+O
  20581. +OO+O+O+O+O+O+O+O+
  20582. O+O+O+O+O+O+O+*
  20583. O+O+O+O
  20584. O+O+O+O+O+O+O+O+O+O+O+O+O
  20585. +OO+O+O+O+O+O+O+O+O+O
  20586. O+O+O+O+O+O+O+O+O+O+O+O+O
  20587. +OO+O+O+O+O+O+O+
  20588. O+O+O
  20589. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O,N
  20590. O+O+O+O+O+O+O
  20591. OO+O+O+O+O+O+O+O+P*P+O+O+O+O+O+O+O+O+O+
  20592. +O+O+OO+O+O+O+z
  20593. +O+O+O+O
  20594. O+O+O+O+O+O+{
  20595. +O+O+
  20596. +O+O+O
  20597. +O+O+OO+O+O+O+O+O+O+O+O+O
  20598. O+O+O+O+O+O
  20599. +O+O+O+O+O
  20600. +O+O+OO+O+O+O+O+O+O+O+O+O
  20601. +O+O+O+O+O+O+O+O+O+O
  20602. +O+O+OO+O+O+O+O+O+O+O+O+O
  20603. O+O+O+O+O+O+O+O+O+O+O
  20604. +O+O+OO+O+O+O+O
  20605. +O+O+O+O+O
  20606. O+O+O+O
  20607. O+O+O+O+O+O+O+O
  20608. +O+O+O+O
  20609. +O+O+
  20610. +O+O+O+O+O+O+O
  20611. I+O+O+O+O+O+O+O
  20612. +O+O+O+O+O+O+O+O
  20613. +O+O+O+O+z
  20614. +O+O+OO+O+O+O+O+O+O+O+O+O
  20615. O+O+O+O
  20616. +O+O+O+OO
  20617. +O+O+OO+
  20618. O+O+O+O+O+O+{
  20619. O+O+O
  20620. +O+O+O+O+O+O+O+O
  20621. I1I1I1I1I1I1I1I
  20622. +O+O+O+O+O+O+
  20623. OO+O+O+O+O+
  20624. sers will be able to create documents where parts of the content are tagged according to an XML Schema, giving both structured documents and the ability to pull data out of such documents using standard XML tools.
  20625. **Previously, this kind of task would need to have been performed by automating Word and finding the required data sections using bookmarks. This process can be a little unreliable, as users often unintentionally delete bookmarks or mis-position the data so that it doesn't lie w
  20626. ithin the bookmarks. It's usually safer to have template documents made by a competent programmer than rely on end users to get it right every time.
  20627. **These Word XML documents could be based on a user-defined XML Schema or on an industry-standard one. You can think of XML Schemas as database definitions that tell the application what data should be captured or stored in any given situation. For example, your company might define an XML Schema for a sales order that would include details o
  20628. f the customer; the shipping address; billing address; the date and order number and details of what goods were to be shipped; part numbers; quantities; and maybe other sorts of information too. 
  20629. **Within your company, you'd use this XML Schema to move sales orders between various computer systems. And later, if one of your customers wanted to send you purchase orders electronically, they could output a purchase order from their computer system as an XML document that conformed to their o
  20630. wn purchase order XML Schema and electronically transform this into your sales order schema. In order for them to do this, you just need to send them your sales order schema definition. Over the past few years, various industries have been busily defining XML Schemas that can be used by anyone in that industry. The insurance and banking sectors have led the way, but there are now schemas published for the building, farming and legal industries among many others. Using these industry-standa
  20631. rd schemas can greatly simplify electronic data interchange both between and within companies.
  20632. **Until now, the use of XML has been restricted to big database systems and companies large enough to employ IT staff with the necessary skills, but Office 11 could change this situation radically. It brings tools for creating XML documents to millions of office workers and to the IT professionals who support them in companies big and small. 
  20633. **Word 11's Object Model contains new objects and co
  20634. llections for XMLNamespaces, XMLNodes, XMLSchema References, XMLTransforms and XMLChildNodeSuggestions. You can now mark up text in a Word document with XML tags and these tags may then be formatted according to XSL style sheets. Word 11 includes a new display mode that shows the XML tags for editing, but these tags can just as easily be hidden from the end user. You may also include XML data in a Word document, specifying how it should appear through an XSL Transform file. This is done ei
  20635. ther through the Word user interface or programmatically, but in either case it creates a new INCLUDETEXT field that can be set to update manually or whenever the document is opened.
  20636. **Excel 11 has new XML features that enable both end users and programmers to map data from an XML file to cells in an Excel workbook. End users get a simple drag-and-drop interface from an XML Source Task Pane, while for programmers the Excel 11 Object Model includes new objects and collections for XMLNamesp
  20637. aces, XMLSchemas, XMLMaps and XMLDataBinding. Linking an Excel workbook to an XML Schema means that the data in the workbook is automatically validated against the schema so that data can be gathered from users in the correct format for consolidation/ transmission to other systems that use the same schema.
  20638. **Smart Documents
  20639. *The Smart Documents feature builds on the XML Schemas facility by allowing developers to program their own Task Panes that react to where the user is in any XML docum
  20640. ent. As the user moves round within the document, the Task Pane sees which XML Node is current and can then show appropriate help, related tasks, links or supporting data, as decided by the developer. Each Smart Document is marked with the location of the required 'solution files', which can include any .NET or COM DLLs that are needed by such a custom Task Pane. If these files are held on a trusted server, they're downloaded and installed onto the user's PC automatically, and these files 
  20641. also get updated automatically if the developer releases new versions. 
  20642. **This means Smart Document solutions can be deployed merely by publishing the supporting files to a trusted server and then creating a Word document or Excel workbook that uses those files. Anyone who opens such a document or workbook, whether from an email message, file system folder or any other place, will see the new Task Pane (provided their computer can see and trusts the server holding the supporting files). T
  20643. his kind of solution is perfect for use within a single organisation where there are established trust relationships between servers and workstations, though it isn't designed for deployment across the Internet.
  20644. **I'm still seeing far too many companies where a secretary designs a form in Word, prints it out, photocopies it and gives out the resulting reams of paper to the other people in the organisation for them to complete by hand. The data on the completed forms then has to be typed b
  20645. ack into one or more computer systems, often generating several queries a day over illegible handwriting. At the end of the month, someone will order a summary of the data from the computer systems and this will arrive as several paper printouts. The final indignity is that some of the data from these printouts will be retyped into an Excel spreadsheet that will be printed out and put on the boss' desk. There are much better ways of doing all this (and much more). 
  20646. **By putting Smart Docu
  20647. ments and XML Tags into Word and Excel, Microsoft hopes it will make it easier for organisations of any size to capture data just once, at source, and to then to consolidate or repurpose that data easily. Yes, it's yet another set of tools and techniques for you and me to learn, but I think this time I'm looking forward to it.
  20648. **Smart Tags
  20649. *Smart Tags were introduced with Office XP (Office 10). They're the annoying purple underlines and floating buttons that 'recognise' words you've typed
  20650.  as being names, places, dates, stock market symbols and so on and offer to allow you to make an appointment with a person, find a map of an address, set up a meeting on a date or whatever. If you find these things useful, please, please write and let me know why, as I've yet to encounter anyone who wants to know anything other than how to turn the darned things off. 
  20651. **[Aside: Go to the main menu in Word, choose Tools | AutoCorrect Options... | Smart Tags (tab). Untick the 'Label text wi
  20652. th Smart Tags' and the Show Smart Tag Actions buttons checkboxes. If you want finer control, you can untick the individual recognisers instead. Click the Save Options... button and untick the options for 'Embed Smart Tags' and 'Save smart tags as XML properties in Web pages'. Click OK twice. Save, close and re-open a document and you shouldn't be pestered by Smart Tags again.] 
  20653. **Microsoft has previously published a Smart Tags toolkit that allows you to write your own recognisers and acti
  20654. ons, which will hopefully be ones that are less annoying than Microsoft's. Now, with Office 11, we get 'Smart Tags Version 2', and Microsoft boasts that these offer 'more intelligent recognition and richer actions'. To my mind, this simply means that Smart Tags will be even more annoying, as they'll be able to act immediately whenever they think they recognise what you've typed rather than just tagging the text and waiting for you to press their button and select an action. They'll also be
  20655.  able to directly modify the current document, formatting the text, adding extra text, or links to other documents or web pages. 
  20656. **If you're determined to write your own Smart Tag recogniser, please make it very selective, perhaps recognising only your company's part numbers or product names. For example, I turned off all Smart Tags on my PC because I got fed up of having Word offer to draw me a map every time I type the word 'Enterprise'. There are seven towns and cities named 'Enterpri
  20657. se' in the US and one in Canada, and I don't want a map of any of them.
  20658. **Access 11
  20659. *Access 11 has XML support that's more 'standard' than in previous versions, and developers can use their own XSL Transforms to import data to or export data from Access. If imported data has an accompanying XSD Schema definition, Access will use that schema and recognise defined data types, but it isn't mandatory to have a schema definition before you can import data. Exporting data can now include relate
  20660. d tables automatically. These features are available to programmers as well as end users via a new TransformXML method and enhancements to the existing ExportXML method. 
  20661. **For some reason, Access 11 has also been 'blessed' with Smart Tags. Microsoft thinks that when a developer puts a 'Full Name' field on a form, they may want to mark it with a Smart Tag that will put a purple underline on the data and show a floating/pop-up button that will offer to send an email to the person named. I 
  20662. can't see any good reason for this - if the developer wanted the users to be able to email the person named, they could just put an ordinary command button on the form. 
  20663. **SharePoint technology
  20664. *In Office 11, Access, Outlook and Excel can link to, import, publish or edit lists of data help in SharePoint Team Services (SPTS). SPTS lists could be events, ideas, contacts or other information - they're lists of items that are shared among the team of people who use the SPTS portal. You can cr
  20665. eate a list in an Excel workbook and then publish it to your team's SPTS website. Excel programmers may use the new ListObjects, ListRows, ListColumns, ListDataObject and ListFormat collections and objects to create and query such lists. 
  20666. **There's more support for SPTS in the SharedWorkspace set of objects and collections, which allow programmers to save and load documents to and from SPTS websites. These features are also built into new Task Panes so that end users can work with documen
  20667. ts in SharePoint without having to leave Word and start Internet Explorer.
  20668. **Visual Studio tools for Office
  20669. *While VBA is still included in virtually all Office 11 applications, developers for Word and Excel will now have the option of using new project types in Visual Studio .NET. There are VS .NET project templates for Excel workbooks and for Word documents and templates (DOC and DOT files). These tools give developers the opportunity to use C# or VB .NET to produce robust, secure, mana
  20670. ged .NET code that runs behind Office documents. ADO .NET, the database library in VS .NET, transports and persists data using XML so it's a good match with the new XML features in Word and Excel. The programmer gets all the advantages of the VS .NET environment - improved Intellisense abilities, a better code editor, more help and so on - but also the disadvantages. For instance, VS .NET doesn't allow a programmer to edit the code while it's running, which has been standard in VBA since i
  20671. t was invented.
  20672. **Using VS .NET permits 'no touch' deployment of projects as with Smart Documents. That is, it doesn't matter how the user receives the document, the code behind it will be downloaded and run automatically providing that user and network security settings allow it to. 
  20673. **Outlook/Notes connector
  20674. *Sneaking it out in the busy days just before Christmas, Microsoft announced a new 'connector' to allow people to use Outlook as a front end to Lotus Domino servers in place of Lot
  20675. us Notes. The connector only works with Outlook 2002 (Office XP) and Domino 5 (5.0.1, 5.0.6, 5.0.8, 5.0.9, 5.0.10 or 5.0.11). It supports common functions such as email, calendaring, scheduling, address book and to-do task items, but it doesn't permit access to any Notes databases or applications, nor allow you to have both an Exchange Server and Domino server in the same profile. You must have the Lotus Notes client already installed and configured on a PC before you can install the Micro
  20676. soft Outlook connector.
  20677. **This sounds like good news for companies with Notes/Domino or a mixture of Domino and Exchange servers but want to standardise on Office XP/Outlook 2002 for the clients. The lack of support for Notes Databases/Applications will, however, rule it out for serious Notes users. Anyone with a valid licence for Outlook 2002 (Office XP) can download and use the connector, but it's much more of an IT department's job to install and configure than something an end user sh
  20678. ould consider tackling. If you want it, talk to your IT support people. They'll find details of the Notes/Domino connector at <a href="http://www.microsoft.com/office/ork/xp/journ/outxpcon.htm" target="_blank">www.microsoft.com</a>
  20679. H_In the grand schema things, Simon Jones seems impressed with the additions to the updated suiteL
  20680. April 2003X
  20681. 102 (April 2003)i
  20682. Applications
  20683. Jon Honeyball / David MossD
  20684. Farewell Fred
  20685. So it's farewell to Fred, who has served me long and true: he never whined or complained, but like any good servant just got on with the work in hand in tireless fashion. He wasn't a particularly flash kind of guy and was more than a bit slow and crumbly around the edges by the standards of today's hot-shots, but he still did sterling service. Until this morning that is, when a press on the power button resulted in Windows NT 4 telling me that important parts of the kernel were missing and
  20686. it'sA
  20687. +O+O+O+O+O+O+OO+O
  20688. O+O+O+O+O+O+O
  20689. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  20690. O+O+O+O+O+O+O+O+O
  20691. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  20692. O+O+O+
  20693. O+O+O+O+O{
  20694. O+O+O+O+O
  20695. O+O+O+O+O+O+O+O
  20696. O+O+O+O
  20697. +O+O+
  20698. OO+O+O+O+O
  20699. +O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O,N,O
  20700. OO+O+O+O+z
  20701. +O+O+OO+
  20702. O+O+O
  20703. O+O+O+z
  20704. +O+O+O+O+O+O
  20705. O+O+O+O+O+O+O+O+O
  20706. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  20707. +O+O+O+O
  20708. I+O+O+O
  20709. +O+O+O+O+O+O+OO+O+O
  20710. +O+O+O+O+O+O+O
  20711. +O+O+O+O
  20712. I+O+O+O
  20713. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  20714. +O+O+O+O
  20715. I+O+O+O
  20716. +O+O+O+O+O+O+OO+O+
  20717. O+O+O+O+O+O+O+O
  20718. +O+O+O+O
  20719. O+O+O
  20720. +O+O+O+O+O+O+OO
  20721. O+O+O+O+O+O+O+O+O
  20722. %OO+O+O+O+O+O+O
  20723. +O+O+O+O+O+O+O+O
  20724. O+O+O+O+O+O+O+O+O
  20725. %OO+O+O+O+O+O+O
  20726. +O+O+O+O+O+O+O+O
  20727. O+O+O+O+Oz
  20728. +O+O+O+O+OO+O+O+O+O+O+O+O+O+P*P
  20729. O+O+O+O+O+O+O
  20730. +O+O+OO+O+O+O+O+O+O+O+O+O
  20731. %U%U%U%U%U%U%UI
  20732. +O+O+O+O+O+O
  20733. +O+O+O+O
  20734. O+O+O+O+O
  20735. +O+O+O+
  20736. O+O+O+O+O+O+O+O+O+O
  20737. O+O+O+O+O+O+O+O+O+
  20738. O+O+O+O
  20739. +OO+O+O+O+O+O+O+O+O+O
  20740. O+O+O+O+O+O+O+O+O+O+O+O+O
  20741. +OO+O+O+O+O+
  20742. +O+O+OO+O+O+O+O+O+O+O+O+O
  20743. +O+O+O+O+O
  20744. I+O+O
  20745. +O+O+O+O+
  20746. O+O+OO+O+O+O+O+O+O+O+%
  20747. +O+O+O+O+O+O
  20748. I+O+O+O+O+O
  20749. +O+O+O
  20750. O+O+O+O+O
  20751. O+O+O+O+O+O+O+O
  20752. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  20753. O+O+O+O+O+O+O
  20754. OO+O+O
  20755. O+O+O+O+O+O
  20756. +O+O+
  20757. +O+O+O+O+O+OO+O+O+O+O+O+O+O
  20758. %U%U%U%UI1I1I1I1I1I1I1I1I1I
  20759. O+O+O+O+O+O+O+O+O
  20760. %U%U%U%U%U%UI1
  20761. I1I1I1I1I1I1I1I1I
  20762. O+O+O+O+O+O+O+O+O
  20763. %U%U%U%U%U%UI1I1I1I1I1I1I1I1I1I
  20764. O+O+O+O+O+O+O+O+O
  20765. %U%U%U%U%U%UI1I1I1I1I1I1I1I1I1I
  20766. O+O+O+O
  20767. +O+O+O+O+O
  20768. %U%U%U%U%U$
  20769. ,O+O+O
  20770. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  20771. +O+O+OO+O+O+O+O+O+O+O+O+O
  20772. O+O+O+O+O+O+O+O+O+O+O
  20773. +O+O+OO+O+O+O+O+O+O+
  20774. O+O+O
  20775. +O+O+O+O+OO+O+O+O+O+O+O+O+O+P*P
  20776. O+O+O+O+O+O+O
  20777. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  20778. O+O+O+O+O+O+O+O+O+O
  20779. +O+O+O+OO
  20780. +O+O+OO+
  20781. O+O+O
  20782. O+O+O+Oz
  20783. +O+O+OO+O+O+O+O+O+O+O+O+O
  20784. +O+O+OO+O+O+O+O+O+O+O+O+O
  20785. I+O+O+O+O+O
  20786. +O+O+O+O+O+O+OO+O+O+O
  20787. +O+O+O+O+O+O
  20788. I+O+O+O+O+O
  20789. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  20790. I+O+O+O+O+O
  20791. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  20792. I+O+O+O+
  20793. O+O+O+O+O
  20794. %UI1I1I1I1I1I1I1I1I1I
  20795. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  20796. %UI1I1I1I1I1I1I1I1I1I
  20797. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  20798. %UI1I1I1I
  20799. 1I1I1I1I1I1I
  20800. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  20801. O+O+O+O+O
  20802. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  20803. O+O+O+O+O+O+O+O+O
  20804. O+O+O+O+Oz
  20805. +O+O+O+O
  20806. O+O+O
  20807. O+O+O+O+O+z{
  20808. +O+OO+O+O+O+O+O+O+O+O,N,O
  20809. OO+O+O+O+O+O+O
  20810. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O,N,O
  20811. OO+O+O+O+O+O+O
  20812. +O+O+O+O+O+O+
  20813. OO+O+O+O+O+O+O+O+O,N,O
  20814. OO+O+O+O+O+O+O
  20815. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O,N,O
  20816. OO+O+O+O+O+O+O
  20817. +O+O+O+O+O+O+OO+O
  20818. +O+O+O+O+O+O+O,N,O
  20819. OO+&O+O+O+O+O+O
  20820. +O+O+O+O+$+$
  20821. +O+O+O+O+OO+O+O+O+O+O+O+O+O+P*P
  20822. O+O+OO+O+O+O+O+O+O+O+O+O,N,O+O+O+O+O+O+O+O+O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+
  20823. OO+O+O
  20824. O+O+O+O
  20825. O+O+O+z{
  20826. +O+O+O+O+O+O
  20827. I+O+O
  20828. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  20829. +O+O+O+O+O
  20830. I+O+O
  20831. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  20832. +O+O+O+O+O
  20833. I+O+O
  20834. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  20835. +O+O+O+O+O
  20836. I+O+O
  20837. +O+O+O+O
  20838. businessA
  20839. +O+O+O+O+O+O+O
  20840. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  20841. O+O+O+O+O+O+O+O+O
  20842. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  20843. O+O+O+O+O+O+O+O+O
  20844. +O+O+O+O+OO
  20845. +O+O+O+O+O+O+O+O+O
  20846. O+O+O+O+O+O+O+O+O
  20847. +O+O+O+O
  20848. O+O+O
  20849. O+O+O+O+O+O+O+O+O
  20850. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  20851. O+O+O+O+O+O+O+O+O
  20852. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  20853. O+O+O+O+O+O+O+O+O
  20854. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  20855. O+O+O+O+O+O+O+O+O
  20856. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  20857. O+O+O+O+O+
  20858. O+O+O+O
  20859. O+O+O+O+O+O+O+O+O+O+O+O
  20860. +O+O+O
  20861. O+O+O+O+O+O+O+O+O
  20862. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  20863. O+O+O+O+O+O+O+O+O
  20864. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  20865. O+O+O+O+O+O+O+O+O
  20866. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  20867. O+O+O+O+O+$
  20868. OO+O+O
  20869. O+O+O+O+O+O+O
  20870. %UI1I1I1I1I1I1I1I1I1I
  20871. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  20872. %UI1I1I1I1I1I1I1I1I1I
  20873. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  20874. %UI1I1I1
  20875. I1I1I1I1I1I1I
  20876. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  20877. %UI1I1I1I1I1I1I1I1I1I
  20878. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  20879. %UI1I1I1I1I1I1I1I1I1I
  20880. O+O+O+O+O+O
  20881. +O+O+O+
  20882. +O+O+O+O+O+O
  20883. %UI1I1I1I1I1I1I1I1I1I
  20884. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  20885. %UI1I1I1I
  20886. 1I1I1I1I1I1I
  20887. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  20888. %UI1I1I1I1I1I1I1I1I1I
  20889. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  20890. %UI1I1I1I1I1I1I1I1I1I
  20891. O+O+O+O+O+O+
  20892. O+O+O+O+O+O+O
  20893. %UI1I1I1I1I1I1I1I1I1I
  20894. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  20895. %UI1I1I1I1I1I1I1I1I1I
  20896. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  20897. %UI1I1I1
  20898. I1I1I1I1I1I1I
  20899. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  20900. %UI1I1I1I1I1I1I1I1I1I
  20901. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  20902. %UI1I1I1I1I1I1I1I1I1I
  20903. O+O+O+O+O+O
  20904. +O+O+O+O+O+O+O+O
  20905. %UI1I1I1
  20906. I1I1I1I1I1I1I
  20907. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  20908. %UI1I1I1I1I1I1I1I1I1I
  20909. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  20910. %UI1I1I1I
  20911. 1I1I1I1I1I1I
  20912. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  20913. %UI1I1I1I1I1I1I1I1I1I
  20914. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  20915. %UI1I1I1I1I1I1I1I1I1I
  20916. O+O+O+O+O+O+
  20917. O+O+O+O+O+O+O
  20918. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  20919. O+O+O+O+O+O+O+O+O
  20920. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  20921. O+O+O+O+O+O+O+O+O
  20922. +O+O+O+O+O
  20923. O+O+O+O+O+O+O+O+O+O
  20924. O+O+O+O+O+O+O+O+O
  20925. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  20926. O+O+O+O+O+O+O+O+O
  20927. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  20928. goodsS
  20929. goods/software
  20930. goodwill
  20931. goody
  20932. goofs
  20933. googleG
  20934. google'sG
  20935. google-dancex
  20936. google-inspiredZ
  20937. google-like
  20938. googled
  20939. googlefactor
  20940. googles
  20941. googlewhack
  20942. googlewhacking
  20943. googley
  20944. googlinx
  20945. goose
  20946. goose-pimple
  20947. gopher
  20948. gordano
  20949. gordano's
  20950. gordon
  20951. gorgeousg
  20952. listingB
  20953. listingsZ
  20954. listitem
  20955. listitems
  20956. listname
  20957. listname-resume
  20958. listname-suspend
  20959.  he couldn't boot any more.
  20960. **Fred.woodleyside.co.uk was a Pentium II server running at a leisurely 266MHz. Fitted with 128MB of RAM and a 6.4GB Quantum hard disk, he hummed along in the background acting as Backup Domain Controller for my old Alpha-based NT 4 PDC. His operating system was the slightly weird NT 4 Terminal Server Edition, but carefully patched. The only reason Fred hadn't been put out to grass much sooner was that he had an irreplaceable installation of SessionWall 3 (SW3)
  20961. . SW3 is one of those programs that's almost magical in what it does, but demands a financial investment in the licence that can make grown men weep. Indeed, SW3 has itself been put out to pasture as a product, swallowed up and merged into some giant security suite from Computer Associates. 
  20962. **The combination of Fred and SW3 was unbeatable. Whenever I saw a level of traffic through my Cisco router that didn't seem quite right, a quick glance at SW3 running in a Terminal Server window from
  20963.  Fred would immediately reveal the source IP address of the conversation, the destination IP address and a complete decoding of the traffic. Whether it was web HTML traffic, SMTP or POP3 or a Telnet session, SW3 would cheerfully decode the byte stream into something visible on screen. In moments of extreme laziness, I was even known to read my incoming email via SW3, as it pieced together text out of the SMTP data stream. 
  20964. **Obviously, for SW3 to see all the traffic that flowed in and out
  20965.  of my network, Fred had to be connected to a hub alongside the SonicWALL firewall. The hub was important, as a switch would have intelligently filtered out all the traffic, of course. 
  20966. **Now that Fred's gone to the great computing store in the sky, I needed something else to monitor my incoming and outgoing Internet traffic, and since I didn't want to spend much money - certainly not thousands of pounds - it had to be readily available. My first step was to consider how to collect the tr
  20967. affic data: SW3 uses a network card in promiscuous mode, which sucks up all the passing Ethernet packets, irrespective of whether they're destined for that computer or not. A cleaner solution would be to use the firewall itself to send logs of all connections and transfers, which is easy to do on a decent firewall like a SonicWALL - syslog is the facility to look for. Basically, syslog sends a stream of conversation information to a recipient storage server, which can then do the analysis.
  20968.  Just drop the IP address of the syslog recipient server into the syslog entry on the SonicWALL and the stream of data starts up.
  20969. **Obviously, I needed something at the other end to receive this syslog stream from the firewall. A Windows 2000 server service would be ideal, because it could run all the time in the background, and a nice one is available from Kiwi at www.kiwisyslog.com. I dropped this program onto a Windows 2000 target server and fired it up, logging all the syslog informat
  20970. ion to a local file. Finally, I needed some sort of analysis package to read this log file and report back what was happening. In the end, I opted for RnR's ReportGen for SonicWALL.
  20971. **As a solution, it works well - I can keep my eye on the Cisco LEDs then go to the Kiwi tools for an immediate 'eyeball' view of the traffic, or to ReportGen to see a more comprehensive analysis. Of all these components, ReportGen is the weakest link and I'd be happier with something stronger. SonicWALL does 
  20972. an analysis package, which I believe also works on the basis of streaming syslog information from the firewall out to the analysis engine. 
  20973. **The moral of the story is simple - there's a lot of information available, even from a humble firewall, and you can slice and dice it to your heart's content. Just log it to one central place and use the tools of your choice. I might even write an analysis engine in Excel: it would work well in a data PivotTable, methinks. 
  20974. **Server disaster recove
  20975. *Just before Christmas, I was called to an office where the server had met a sticky end. It was a fairly new Compaq, so there was no problem obtaining an identical replacement almost overnight. I popped in the Windows 2000 Server CD and did a build of the OS to check that everything was working adequately and noticed no problems. I then took the backup tape and dropped it into the DAT drive and started the recovery process to bring all of the C drive back in from tape onto the hard disk
  20976. . This went swimmingly until the end, at which point I received a heap of error messages regarding the Windows file protection system. Unperturbed, I pressed on and got to the point where the inevitable reboot was required, whereupon the system failed to start, citing a corrupt kernel file as the reason. I went back to the boot CD and did the basic reinstall all over again.
  20977. **At this point, I noticed that we had two CDs - one was original Windows 2000 Server and the other was a bootable C
  20978. D containing Windows 2000 with SP 3 applied. Unfortunately, the version that had been on this server, and thus on the DAT tape, was SP 2. I got the familiar feeling of being in a maze of twisty passages, all alike. Rather than dive into the deep and meaningful reasons why this was happening, I decided to blast in a new Active Directory install on the virgin SP 3 installation. There were only four accounts to worry about and getting them up and running was the priority, sorting out email be
  20979. ing a secondary issue. 
  20980. **When I came to Exchange Server, I noticed that all the desktop machines were running Outlook. There were no worries there, except that all these machines had their own local storage of all the email messages. At this point, it dawned on me that whoever had previously fiddled with this system had set up Exchange Server as the world's most expensive POP3/SMTP mailbox, whereby nothing was kept in the server itself. As soon as the Outlook client connected to the serv
  20981. er, it sucked the inbox down to the local store and emptied the server mailbox. Performing disaster recovery on this server was therefore a waste of time, as there was no data to recover - it was all on the desktop machines (where, of course, it hadn't been backed up at all).
  20982. **Did I mention that the internal domain name was a '.local' too, showing real depth of DNS understanding? It also transpired that the NT 4 desktop machines weren't part of an NT 4/Windows 2000 domain, but instead pa
  20983. rt of a workgroup that happened to have the same name as the server domain. Printing was direct to the IP address of the laser printer from each desktop, and printer queues weren't used. Yes, it was a truly horrible mess. Fortunately, it's now in the process of being migrated to a proper installation with accounts, domains and a working Exchange Server installation. However, I do wonder what some people have been smoking when they pop that CD disc into the server and run the setup programs
  20984. **XDocs and OneNote
  20985. *XML is an open standard. It's text that represents data and, although it couldn't give a damn what operating system you use, the Windows platform will take it mainstream. Microsoft will achieve this through Office 11, the current name for the next generation of Office, by making XML the file format of choice for all the regular Office applications and via a brand-new application called XDocs.
  20986. **Complex XML Schemas are still going to require techies to create them,
  20987.  but simple schemas will be easily achievable by anyone, and you'll be able to work with XSD files without needing a degree in computer science. 
  20988. **Let me illustrate this by offering a scenario: you're the IT manager who has to find the right person for a job, and you've had hundreds of applicants. You need to come up with a shortlist of people you want to interview, so you start off by handing the r
  20989. s out to four of your staff and having them run an initial assessment based on the in
  20990. formation contained in each r
  20991. . Your HR bods have determined the best fit and your IT staffers have written a simple schema with some detail on who read the r
  20992. , the contact details for each applicant and their degree of 'fit' for the job defined as a simple integer value. You now want to quickly create a table that will let you see who is best for the job.
  20993. **Fire up Excel and select the first of the four files that have been prepared for you. Nothing clever was done here other tha
  20994. n saving the files in XML format rather than the older XLS. You open the file and are presented with an Open XML dialog that offers you three choices: open the file as an XML list, a read-only workbook, or have the XML Structure task pane display the schema fields to you on the right-hand side of the workbook. Choose the latter option and the schema appears in the regular task pane location. Look at the available fields, select the first and then use the <Ctrl-Click> key combination to sel
  20995. ect some others and drag and drop them onto your Excel worksheet. 
  20996. **Now close the editing view, hit Refresh and you're presented with the data from the first document under each of the chosen headings on your worksheet. Sort on Fit and then use <Ctrl-Click> again to select the First name and Fit columns. Click on the Chart Wizard button and on the Finish button, as you know the default chart type is fine for what you want. Instantly, you see who fits your criteria, but you know you have 
  20997. three more data files to view. 
  20998. **Head to the Data menu, select XML and Data Range Properties, and then choose the option to append the new data to the existing data, import the three remaining files and do your sort on Fit again. All finished. Information, as they used to say, at your fingertips. 
  20999. **You chose Excel for this task because it was the best tool for the job, giving you list and charting capabilities. What your staff members didn't know is that you'd already checked all the r
  21000. s yourself and had your own opinion on who was the best fit for the job. You'd given them the task to see how they measured up - you have one or two promotions in mind and wanted to know who was best for the job, and this was just one of the tests you'd devised. So now you want to fill out an evaluation form on each of them. You reach resignedly across the desk to the sheaf of forms sat in a tray... and then drop the whole lot into the wastepaper basket.
  21001. **Smiling, you turn back to y
  21002. our PC, fire up Microsoft XDocs and open a form you'd prepared earlier. You start to fill the form in and soon have all the details for the first of your staff entered in the relevant fields. Do you now save the form and start to fill out another? No, because that would be the electronic equivalent of filling in the inflexible paper form. This time you go back to the first section you want to duplicate, click on one item and start to fill in the form again. You do the same thing on each se
  21003. ction as you fill it in for each candidate. The comments you write on each candidate are different in length, but that doesn't matter, because the field has been resized to reflect the amount of text in it, meaning you can print the form straight away and know that all the data will be visible.
  21004. **XDocs is a hybrid application, providing forms capabilities linked to all the word-processing capabilities with which you're familiar, which, of course, includes invaluable items like spell-check
  21005. ing. It's a proprietary format in that if you want someone else to be able to share your forms, they have to have their own copy of XDocs. However, I don't see that being a disadvantage for long, and XDocs will undoubtedly be available as a standalone application as well as a component of Office 11 when it ships sometime this summer.
  21006. **You'll want a copy of it, just as you'll want a copy of OneNote, another new Microsoft application due to ship at the same time and presumably in standalon
  21007. e form as well as bundled with Office 11. OneNote is the electronic note-taking companion you always wanted, but never quite had. You can sit in a meeting taking notes in OneNote while simultaneously recording the meeting as a WAV file onto your notebook or Tablet PC. Have you ever sat and stared at a bunch of notes after you've taken them and tried to remember what was being said at the time that caused you to make the note? Now you can simply click on the note and on the Play button, and
  21008.  OneNote will play back what was being said from just before you wrote the note for as long as you might wish afterwards.
  21009. **Sadly, I don't have a copy of OneNote, so I wrote this column the old-fashioned way based on notes taken at yesterday's Microsoft press conference, at which Jean Paoli - one of the creators of XML (and SGML) and now a Redmond 'XML architect' - briefed us on all this stuff. A day later, it's still fresh, but in several months my memory of it will have faded. If you're
  21010.  a student taking notes at a lecture using OneNote, not only can you refer to them at any time, but also listen to the dulcet tones of the lecturer while doing it. Or if you have a meeting with the boss from hell who adopts the approach that everything should be said at nine million miles an hour - and woe betide anyone who doesn't get it all first time - you now won't care, as you have OneNote. Your system crashed while you were taking notes and now they're lost to the ether? Not any more
  21011.  - or not unless your hard disk exploded too - because OneNote writes your data to disk as you add it (and that could be either typed or ink data). What's more, if you search for something, OneNote reads your inked words as well as your typed words and highlights them. 
  21012. HUJon Honeyball puts an old friend out to grass, while David Moss gets excited by XDocsL
  21013. April 2003X
  21014. 102 (April 2003)i
  21015. Back Office
  21016. Paul LynchD
  21017. iPod updates
  21018. popsG
  21019. popularR
  21020. popular/usenet
  21021. popularise
  21022. popularised
  21023. postedZ
  21024. postero
  21025. postgresR
  21026. postgresqle
  21027. postingP
  21028. postingsP
  21029. postsS
  21030. O+O+O+O+O+O+O
  21031. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  21032. O+O+O+O+O+O+O+O+O
  21033. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  21034. O+O+O+O+O+O+O+O+O
  21035. O+O+O+O+O+O+O+O+O+O+O+
  21036. O+O+O+O
  21037. O+O+O+O+O+O+O+O+O
  21038. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  21039. O+O+O+O+O+O+O+O+O
  21040. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  21041. O+O+O+O+O+O+O+O+
  21042. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  21043. O+O+O+O+O+O+O+O+O
  21044. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  21045. O+O+O+O+O+O+O+O+O
  21046. O+O+O+O+O+O+O+O+O+O+O
  21047. +O+O+O+O
  21048. O+O+O+O+O+O+O+O+O
  21049. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  21050. O+O+O+O+O+O+O+O+O
  21051. O+O+O+O+O+O+O+O+O+O+O+O+O
  21052. O+O+O+O+O+O+O+O+O
  21053. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  21054. O+O+O+O+O+O+O+O+O
  21055. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  21056. O+O+O+O+O+O+O+O+O
  21057. O+O+O+O+O+O+O+O+O+O+O+
  21058. O+O+O+O+O+O+O
  21059. %UI1I1I1I1I1I1I1I1I1I
  21060. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  21061. %UI1I1I1I1I1I1I1I1I1I
  21062. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  21063. %UI1I1I1
  21064. I1I1I1I1I1I1I
  21065. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  21066. %UI1I1I1I1I1I1I1I1I1I
  21067. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  21068. %UI1I1I1I1I1I1I1I1I1I
  21069. O+O+O+O+O+O
  21070. +O+O+O+O+O+O+O+O
  21071. %UI1I1I1I1I1I1I1I1I1I
  21072. O+O+O+O+O+O+O+O
  21073. structuredI
  21074. structuresE
  21075. structuringG
  21076. struggleI
  21077. struggled
  21078. struggles
  21079. strugglingP
  21080. +OO+O+O+O+O+O+O+O+O+O
  21081. O+O+O+O+O+O+O+O+O+O
  21082. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  21083. O+O+O+
  21084. O+O+O+O+O+O+O
  21085. +O+O+OO+O+O+O+O+O+O+O+O+O
  21086. O+O+O+O+O+O+O+O+O+O+O
  21087. +O+O+OO+O+O+O+O+O+O+O+O+O
  21088. O+O+O+O+O+O+O+O+O+O+O
  21089. +O+O+OO+O+
  21090. O+O+O+O+O+O+O+O
  21091. O+O+O+O+O+O+O+O+O+O+O
  21092. +O+O+OO+O+O+O+O+O+O+O+O+O
  21093. O+O+O+O+O+O+O+O+O+O+O
  21094. +O+O+OO+O+O+O+O+O+O+O+O+O
  21095. O+O+O+O
  21096. +O+O+O+O+O+O+O
  21097. +O+O+OO+O+O+O+O+O+O+O+O+O
  21098. O+O+O+O+O+O+O+O+O+O+O
  21099. +O+O+OO+O+O+O+O+O+O+O+O+O
  21100. O+O+O+O+O+O+O+O+O+O+O
  21101. +O+O+OO+O+O
  21102. +O+O+O+O+O+O+O
  21103. O+O+O+O+O+O+O+O+O+O+O
  21104. +O+O+OO+O+O+O+O+O+O+O+O+O
  21105. O+O+O+O+O+O+O+O+O+O+O
  21106. +O+O+OO+O+O+O+O+O+O+O+O+O
  21107. O+O+O+O+
  21108. O+O+O+O
  21109. O+O+O+O+O+O+O+O+O
  21110. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  21111. O+O+O+O+O+O+O+O+O
  21112. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  21113. O+O+O+O+O+O+O+O+
  21114. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  21115. O+O+O+O+O+O+O+O+O
  21116. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  21117. O+O+O+O+O+O+O+O+O
  21118. O+O+O+O+O+O+O+O+O+O+O
  21119. +O+O+O+O
  21120. O+O+O+O+O+O+O+O+O
  21121. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  21122. O+O+O+O+O+O+O+O+O
  21123. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  21124. Small changes can have large and unanticipated consequences. This is one of those universal truths that gradually work their way into our consciousness as the result of countless unfoldings of the rule. As a sometime programmer, I know very well to consider all the implications of what might seem to me an inconsequential update. Sometimes I get lucky and a small change makes the users of some application much happier, but more often it doesn't. 
  21125. **So it is with the iPod. I'm a big fan of 
  21126. the iPod as a music player, but a minor change to its menu structure that pushed the Track Search function one menu-level down almost made me stop using it. 
  21127. **In that same column, I talked of the trouble I was having with my iPod losing charge overnight. When first bought, it would happily play the full claimed ten hours and I could even leave it for a couple of days without recharging and still get almost full playback time. As the iPod aged, this time reduced gradually, which is an exp
  21128. ected result given that battery technology is less than perfect. However, after installing the iPod 1.2 software update, I found myself getting on a train in the morning with a dead iPod in my hands unless I'd charged it up the night before.
  21129. **At times like that, it isn't possible to blame it solely on the software update. It's just as likely that age was to blame for the problem, and that my change of usage pattern with the new software made it more obvious. However, I'm not the only one
  21130.  to notice this rapid power loss when switched off, and I'm inclined to attribute it to the 1.2 timer software. To solve the problem, just revert to the 1.1 firmware (download the software update for that version and install it). If you don't like that, there's a partial cure that keeps the 1.2 firmware. After connecting to a Mac (which resets the internal clock), try resetting the iPod immediately after ejecting from the machine - which is when the clock/timer is set - but before disconne
  21131. cting it, by holding down both Menu and Play buttons simultaneously.
  21132. **Part of the mystery is patch version 1.2.1, which has a cryptic description on the software download site for iPod <a href="http://www.apple.com/ipod/download" target="_blank">www. apple.com/ipod/download</a> (this isn't linked from the main <a href="http://www.apple.com/ipod" target="_blank">www.apple.com/ipod</a> web page) saying: 'iPod Software 1.2.1 fixes a problem with the Battery icon. It now correctly indicates 
  21133. a full charge.' And that's all. A mystery, but one that required a full patch release from Apple. It's possible that this patch also fixes the battery charge problem itself, but I haven't had it installed long enough to be certain (first impressions are good). 
  21134. **Just for the record, the previous iPod patch, 1.2, which re-organised the menu so inconveniently for me, did also add some beneficial features that I skipped over, apart from the Calendar and Clock features. The main one I like i
  21135. s a message on the iPod screen that gives extra information about connection status and tells you when it's safe to disconnect it from its umbilical FireWire cable. 
  21136. **If this isn't enough, there's another iPod software update, 1.2.2 (<a href="http://docs.info.apple.com/article.html?artnum=120123" target="_blank">http://docs.info.apple.com /article.html?artnum=120123</a>), which is European only. Don't bother downloading it, however, as it's there solely to reduce the sound volume of the 
  21137. iPod to meet (unspecified) European standards, presumably safety standards, but the patch notice doesn't say that.
  21138. **If you feel your battery life has reduced and your iPod is still within its warranty period, Apple will swap out your iPod for a new one, as the battery isn't a user-replaceable component. If, like me, you feel adventurous enough to want to see what's going on inside and try to replace your battery, take a look at <a href="http://home.no/deep/ipod/disassembly " target="_bla
  21139. nk">http://home.no/ deep/ipod/disassembly </a>
  21140. *I mentioned in an earlier column that iCal integration with iPod didn't support the well-known vCal format (despite the coincidental similarity of names). The latest release of iCal for Mac OS X, 1.0.2, improves the partial vCal support that was in the previous version. Tied in with the new version of iCal - which requires Mac OS X 10.2.2 - is the release of iSync, which has been in beta for several months. iSync 1 supports synchronisation of
  21141.  contact and calendar information between Mac OS X and Bluetooth devices, including Sony Ericsson mobile phones, but now also iPod, Palms, other Macs and even .Mac accounts (Mac-to-Mac synchronisation actual depends on the .Mac account feature). Clearly, the iPod and .Mac accounts (and other Macs) don't need to have Bluetooth support to transfer data.
  21142. **iPod Archives
  21143. *Still on the subject of my iPod, it gets used from time to time as a convenient, pocket-sized data transfer device that I'
  21144. m unlikely to leave on a customer's site. It's easy to access from any FireWire system and, as a result, data is transferred rapidly, reducing the number of CDs that I need to burn when moving data from place to place. As a result, in some ways, it's become more of a 'system of record' than the matching archives on any of my various computers. 
  21145. **Curiously enough, this even includes the music files that are now on the iPod. Possibly as the result of moving the PowerBook files from hard di
  21146. sk to hard disk, and because of several clean reformats of the drive and at least one disk upgrade, some of the MP3s that I now have on the iPod are no longer on my PowerBook. There are solutions to this, which involve changing attributes on the iPod file system to allow you to copy the files, and then delving into the folder structure. Recently, however, I came across some software that's intended to solve this problem and a few other iPod-related situations. It's called iPod2iTunes from 
  21147. <a href="http://www.crispsofties.com" target="_blank">www. crispsofties.com</a>
  21148. **Wireless Networking Update
  21149. *I'm as guilty as the next person of making assumptions, and I have to confess one that I missed. For the last two or three years, we've all been writing about wireless networking, how great it is and what the evolving standards have been. 802.11b sneaked up on us and is now the dominant technology for both office and home wireless. It offers 11Mb/sec bandwidth, roughly equivalent 
  21150. to the old 10MHz wired Ethernet standard still prevalent in many small offices and homes. Despite this apparent speed equivalence, in most circumstances 802.11b is still slower than 10MHz Ethernet because it has to handle airwave saturation caused by many devices all in use at once.
  21151. **802.11b works in the 2.4GHz waveband, which has reasonable if not great ability to penetrate walls, but can conflict with some domestic appliances such as microwaves. Regardless, it's a good band to use, as 
  21152. it already has approval in most countries and is free for our use. Right now we can buy PC Cards, Secure Digital cards, CompactFlash cards, and base stations all supporting 802.11b.
  21153. **All along I've been mentioning 802.11a as the most likely successor to 802.11b, which runs at vastly greater speeds - 54Mb/sec - but uses a different waveband at 5GHz. Range should be roughly the same as 802.11b (maybe slightly shorter), which is to say anywhere from a few tens of feet to a couple of hundred
  21154.  feet in open air, without any special antenna, that is. The advantage of moving to 5GHz is that fewer other devices already use it and so data rates in practice are likely to be better than on 2.4GHz. 802.11a has a standard already approved and a small amount of expensive equipment is available.
  21155. **However, it now looks as if 802.11g may end up arriving sooner and displacing 802.11a before it gets started. 802.11g is likely to be approved soon, offers 54Mb/sec transmission with the same r
  21156. ange as 802.11a would have, and has the distinct advantage of staying on the old 2.4GHz waveband. As such, it should be upwards compatible with 802.11b installations, so that you could upgrade the wireless hub from 802.11b to 802.11g and start using 802.11g devices on the network immediately alongside your existing 802.11b ones. If you do this, you'll probably have to remap locations to cater for the shorter range, and in a complex multiple access-point installation this could become invol
  21157. **Choosing between 802.11a and 802.11g is likely to be decided for us by the manufacturers and legislators. As it is, 802.11a should be slightly ahead in theory with the potential for greater bandwidth. However, in practice, if manufacturers have 802.11g devices available in good time, its compatibility with 802.11b should win the day for them.
  21158. **Mobile Communicators
  21159. *Although the Nokia 9210 and its successors have found a small but devoted coterie of users, other small 'communicato
  21160. r' devices have been notably slow to take off. The Pocket PC family of phones, as well as the Palm ones like Handspring's Treo, have only a small penetration into the business market, appealing more to the gadget buyer.
  21161. **In this column last year, I looked at the Pogo and was rather disappointed. Production has now ceased, although its services have been taken up by the main distributor Carphone Warehouse. It's the nearest equivalent the UK business market has to the RIM BlackBerry in the
  21162.  US (which is best described as a 'pager for email'). 
  21163. **One to watch, however, is the Danger Hiptop, being marketed in the US by T-Mobile as the Sidekick. This is close in concept to the Pogo, although it appears to have better construction quality and greater support. I'd find this device rather more appealing than a Palm Tungsten, if, of course, it were to become available on any of my mobile phone networks of choice. See the owners manual at <a href="http://help.sidekick.dngr.com/inde
  21164. x.html" target="_blank">http://help.sidekick. dngr.com/index.html</a>, or other information at <a href="http://www.danger.com" target="_blank">www.danger.com</a>
  21165. HNPaul Lynch feels a little run down, but recharging his battery isn't an optionL
  21166. April 2003X
  21167. 102 (April 2003)i
  21168. Mobile Computing
  21169. Kevin PartnerD
  21170. Director MX
  21171. Okay, it's humble pie time. I said in my last column that I couldn't see how Macromedia could incorporate Director into the MX family and I was wrong. It's a fair cop, guv'nor. Director MX (aka version 9) is finally with us, but was it worth the wait? 
  21172. **I'll begin by restating that I like Director as a tool: it's the most powerful general-purpose multimedia authoring tool bar none. It was one of the first authoring tools to appear on the Mac in the late 1980s and its theatre-related meta
  21173. reasons
  21174. owning
  21175. beyond
  21176. now-boriW
  21177. advantages
  21178. using
  21179. computer
  21180. biggest
  21181. challenges
  21182. bringing
  21183. multimedia
  21184. biggest
  21185. problems
  21186. developing
  21187. web-based
  21188. applicat
  21189. constant
  21190. battles
  21191. you'll
  21192. business
  21193. differences
  21194. between
  21195. people
  21196. computers
  21197. fastest-growing
  21198. buzzwords
  21199. millennium
  21200. major
  21201. problems
  21202. technology
  21203. windows
  21204. software
  21205. never
  21206. leaves
  21207. highl
  21208. studio
  21209. inordinate
  21210. amount
  21211. one'sx
  21212. one-armed
  21213. one-bit
  21214. one-box
  21215. one-character
  21216. one-clickI
  21217. one-day
  21218. one-disk
  21219. one-fifth
  21220. one-gigahertz
  21221. one-handed
  21222. one-hour
  21223. one-line
  21224. one-liners
  21225. one-man~
  21226. one-minute
  21227. ontrack's
  21228. onvaluechanged@
  21229. oosoftware@
  21230. open-air
  21231. open-ended
  21232. open-source
  21233. open-structure
  21234. opener@
  21235. openings@
  21236. opera
  21237. opera
  21238. composer
  21239. browser
  21240. customising
  21241. totally
  21242. operating@
  21243. operation
  21244. operational@
  21245. operators@
  21246. opinionated
  21247. opposed@
  21248. opposing
  21249. opt-in@
  21250. optimise
  21251. optimiser@
  21252. optimistic
  21253. optimum
  21254. opting@
  21255. option
  21256. optional@
  21257. optionally@
  21258. options
  21259. optout
  21260. opts@
  21261. or-together
  21262. /mz-r110pda@
  21263. organisationally@
  21264. organise@
  21265. organize@
  21266. original@
  21267. originally@
  21268. originals@
  21269. originators@
  21270. os's@
  21271. ostentatiously@
  21272. other@
  21273. other's@
  21274. otherwise@
  21275. otley@
  21276. ouit@
  21277. ourpoilicy@
  21278. ourselves@
  21279. ourworld@
  21280. resultantC
  21281. resultedS
  21282. resultingN
  21283. retainw3svcstatus
  21284. retaliationP
  21285. retentionL
  21286. retesto
  21287. rethinkV
  21288. rethoughtH
  21289. reticketed
  21290. reticulation
  21291. retiredb
  21292. retouch[
  21293. retract
  21294. retreated
  21295. retrenchment
  21296. retrievablex
  21297. retrievalW
  21298. retrieveE
  21299. crypticj
  21300. crypto
  21301. cryptographic
  21302. cryptographically
  21303. cryptography
  21304. crystalg
  21305. crystalize
  21306. crystallise
  21307. crystallised
  21308. crystallize
  21309. cs-138d
  21310. cs-bytes
  21311. cs-method
  21312. cs-something
  21313. cs-uri-query
  21314. cs-uri-stem
  21315. cs-username
  21316. cs-version
  21317. csbump
  21318. cscellstyle
  21319. cseng
  21320. cserverO
  21321. csetched
  21322. csharp
  21323. csharpindex
  21324. csharpparser
  21325. cshelllink
  21326. csidl
  21327. csma/ca
  21328. csma/cd
  21329. csraised
  21330. cupsL
  21331. cureL
  21332. curedV
  21333. curiosity
  21334. curiousq
  21335. +O+O+O+O+O
  21336. O+O+O+O+
  21337. O+O+O+O+O+O+O
  21338. O+O+O+O+O+O+O+O+O
  21339. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  21340. O+O+O+O+O+O+O+O+O
  21341. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  21342. O+O+O+O+O+
  21343. O+O+O+O
  21344. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  21345. O+O+O+O+O+O+O+O+O
  21346. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  21347. O+O+O+O+O+O+O+O+O
  21348. O+O+O+O+O+O+O+O
  21349. +O+O+O+O+O+O+O
  21350. O+O+O+O+O+O+O+O+O
  21351. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  21352. O+O+O+O+O+O+O+O+O
  21353. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  21354. O+O+O+O+O+O
  21355. +O+O+O
  21356. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  21357. O+O+O+O+O+O+O+O+O
  21358. O+O+O+O+O+O+O+O
  21359. +O+O+O+O+O+O+O
  21360. O+O+O+O+O+O+O+O+O
  21361. O+O+O+O+O+O+O+O+
  21362. O+O+O+O+O+O+O
  21363. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  21364. O+O+O+O+O+O+O+O+O+O
  21365. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  21366. O+O+O+O+O+O+O+O+O+O
  21367. +O+O+O+OO+
  21368. O+O+O+O+O+O+O+O+O
  21369. O+O+O+O+O+O+O+O+O+O
  21370. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  21371. O+O+O+O+O+O+O+O+O+O
  21372. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  21373. O+O+O
  21374. +O+O+O+O+O+O+O
  21375. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  21376. O+O+O+O+O+O+O+O+O+O
  21377. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  21378. O+O+O+O+O+O+O+O+O+O
  21379. +O+O+O+OO+O
  21380. +O+O+O+O+O+O+O+O
  21381. O+O+O+O+O+O+O+O+O+O
  21382. +O+O+O
  21383. demandG
  21384. demand-load
  21385. demand-loading
  21386. demanded~
  21387. demandingA
  21388. demonstratedJ
  21389. demonstratesH
  21390. demonstratingn
  21391. demonstration
  21392. demonstrationsT
  21393. demosU
  21394. demoting
  21395. demystified
  21396. demystify
  21397. deneban
  21398. denial
  21399. conformantM
  21400. conformedh
  21401. conforming
  21402. conformity
  21403. conforms
  21404. confront
  21405. confrontation
  21406. confronted
  21407. confronts
  21408. confuseP
  21409. confused|
  21410. connectionsI
  21411. connectivityU
  21412. connectixJ
  21413. connectix'sJ
  21414. connector`
  21415. connector-compatibil
  21416. connectorsN
  21417. startersd
  21418. startingI
  21419. tingdir
  21420. startled
  21421. lynch
  21422. finds
  21423. powerbook
  21424. really
  21425. apple
  21426. lynch
  21427. gives
  21428. hints
  21429. lynch
  21430. gives
  21431. psion
  21432. purple
  21433. treatment
  21434. netwo
  21435. lynch
  21436. gives
  21437. sony's
  21438. latest
  21439. top-of-the-range
  21440. lynch
  21441. search
  21442. elusive
  21443. checks
  21444. lynch
  21445. helps
  21446. transition
  21447. books
  21448. electronic
  21449. lynch
  21450. investigates
  21451. drawbacks
  21452. finds
  21453. lynch
  21454. investigates
  21455. embedded
  21456. applications
  21457. lynch
  21458. currently
  21459. suffering
  21460. exhaustion
  21461. lynch
  21462. dragged
  21463. kicking
  21464. screaming
  21465. modern
  21466. lynch
  21467. looks
  21468. advances
  21469. technology
  21470. concludes
  21471. lynch
  21472. meets
  21473. credit
  21474. wants
  21475. newton
  21476. insists
  21477. thoroughness
  21478. while
  21479. paulo
  21480. perils
  21481. photo
  21482. photoshopn
  21483. picks
  21484. pistol_
  21485. platform
  21486. playgroundZ
  21487. plays
  21488. pleasurable
  21489. re-nationalisationY
  21490. phor - stage, casts and scripts - can be traced back to its roots in a tool called VideoWorks. So, to a real degree, Director helped create the market in which I now work. Thanks, Macromedia.
  21491. **There's certainly little that can't be achieved in Director. I recently used version 8.5 to create a complex DTP application for the educational publisher Folens (<a href="http://www.folens.co.uk" target="_blank">www.folens.co.uk</a>), which was aimed at novice users and outputs HTML - this product
  21492.  is now on retail sale. 
  21493. **I'd originally chosen VB .NET for this project, but using the .NET Framework demands a higher specification of target platform than can be reliably found in schools. My only other alternative, given my deadline, would have been VB 6. 
  21494. **With various Xtras (third-party extensibility is one of the strengths of Director) and ActiveX controls, Director presents an interface that allows the novice end user to assemble worksheets from a range of pre-created content, 
  21495. edit these worksheets, preview and print them. As the project files are in HTML, they can be easily uploaded to a website. I particularly like Director's ability to convert from RTF to HTML format with a single-line statement.
  21496. **Would this project have benefited from Director MX? Not really. For PC users of version 8.5, the main enhancements are better integration with Flash MX and Fireworks MX, some slight improvements to the interface (particularly when scripting), better debugging and 
  21497. support for the Flash Communication Server MX. Macromedia also gives a nod toward creating more accessible content for disabled users by including, for example, a text-to-speech Xtra. 
  21498. **In other words, this is a fairly limited upgrade when compared with the quantum jump from 8 to 8.5, and the upgrade fee of 
  21499. 299 is hard to justify. Mind you, it's possible to order from the Macromedia US website and save yourself around 
  21500. 50 on the downloadable version (depending on the current exchange ra
  21501. **If you're a Mac OS X user, Director MX is an essential upgrade, being the first version to support this operating system. Equally, if you're still using version 8, as Rob Burgess from Macromedia says: 'If you've been waiting to upgrade, Director MX is the version to get,' primarily for the entirely new 3D engine added in version 8.5 and incorporated in MX. However, Macromedia had originally announced on its own forums that support for Flash MX would be added to 8.5 for free in the 
  21502. form of a new Flash Xtra. This means you're paying to enjoy better integration between Director and other members of the Macromedia stable.
  21503. **Macromedia is keen for the integration between Flash and Director to be as tight as possible so that professional developers feel compelled to buy and use both products. It's a pity the underlying programming languages of the two aren't more similar: Flash's ActionScript is a modern language similar to JavaScript, whereas even the more modern dot-sy
  21504. ntax version of Lingo is Basic-like and dated. My guess is that Lingo will move towards ActionScript in the future as Director becomes the 'Pro' version of Flash. Indeed, it's now possible to directly create Flash objects in Director without needing to do this through a Flash cast member - this gives you access to the benefits of ActionScript objects from within Lingo. 
  21505. **Further evidence of the merging of these two products is the abandonment of the Shockwave Multiuser Server and its rep
  21506. lacement with - you've guessed it - Flash Communication Server MX. This is one of the most extraordinary U-turns I've seen and, despite the fact that the Multiuser Server is still included on the installation CD, you'd be well advised to switch to the more powerful Flash Server. 
  21507. **If you've spent time and money implementing Shockwave-based multi-user games or learning products, you aren't going to be too chuffed that they've become obsolete overnight, but now's definitely the time to jum
  21508. p from that rapidly sinking ship.
  21509. **Most professional developers will upgrade only because they have to have the latest version, but perhaps the most conclusive evidence that this upgrade offers little in the way of new features is that the Shockwave player isn't being updated for this release. Don't get me wrong, Director MX is the most complete authoring tool on the market today and the integration of Flash MX makes it the ideal product for creating CD-ROMs, DVD-ROMs and, in particular,
  21510.  for hybrid productions that feature offline storage while connecting to the Internet for collaboration, scoring and updating. 
  21511. **But why is it that Microsoft's policy of strong-arming its users to upgrade is so derided and yet Macromedia's treatment of the Director community hardly gets a comment? It's particularly disappointing given that upgrades to its other products, especially Flash and Dreamweaver, are always worthwhile and groundbreaking.
  21512. **The MX interface itself makes almost no
  21513.  difference to the way you use Director. It smartens up the interface a little, resulting in fewer pop-up windows, but doesn't interfere with that basic, archaic theatre metaphor. The Scripting window has been improved a little. New buttons list 3D Lingo commands, and particularly useful is a button that automatically lists commands added by any installed scripting Xtras. The message window is now more usable, as the commands are separated from their results and Director MX adds an Object 
  21514. Inspector that allows you to follow the properties of script instances and watch the elements within 3D cast members and Flash MX sprites. 
  21515. **Perhaps the most impressive day-to-day change is the close integration with Macromedia Fireworks MX. Director has always had a built-in image editor, but it's rubbish, so most developers create graphics in an external application and import them. Now you can edit a cast member in Fireworks by clicking the Edit button in Director's Property Inspector
  21516.  window and, on leaving Fireworks, have it updated without having to delete the cast member and re-import it. The integration with Photoshop isn't quite as close, but still far better than previously.
  21517. **Director's coding environment still isn't as professional and usable as, for example, the Microsoft .NET editor, but it's far better than the bare-bones editor shipped with main competitor Mediator EXP. In summary, Director MX feels more like version 8.6 than the version 9 it's intended to
  21518.  be (as indicated by the licence number). Is it worth the 
  21519. 299 upgrade fee? Not really. Have I paid to upgrade? Yes.
  21520. **Mediator EXP 7
  21521. *Perhaps Director's strongest competitor in the field of CD-ROM development, version 7 of Matchware's Mediator EXP is now available. No doubt the product will be the subject of a full PC Pro review in due course, but I'd like to take the opportunity to describe how Mediator now combines ease of use with real power.
  21522. **My company, NlightN Multimedia (<a href
  21523. ="http://www.nlightn.co.uk" target="_blank">www.nlightn.co.uk</a>) is currently developing a huge e-learning product that involves a number of designers/programmers working concurrently. I selected Mediator EXP rather than Director for this project because of the productivity benefits it offers while also providing a wide range of features. 
  21524. **One of the main problems with having a number of designers working on a single project is that they each have their own techniques as well as a ran
  21525. ge of experience levels and technical abilities. This can lead to the nightmare scenario of half-a-dozen different programming styles that are next to impossible for anyone else to understand. 
  21526. **So, I'm creating a range of standard page types that the designer simply has to modify. Users of Mediator in any of its incarnations will know that making drag-and-drop user interaction is pretty easy, but it does involve a lot of repetitive programming each time a new interaction is created. By 
  21527. using a combination of a standard, modifiable page and a block of VBScript, I've been able to limit the programming input required from the designer to a single line. The other, huge, advantage of doing it this way is that I can make a change to the code and have that reflected across the entire program.
  21528. **Take a look at the code fragment in Code Listing One. It's a simple FOR-NEXT loop that reads in the initial x and y position of each drag-and-drop object. These objects will be named dr
  21529. ag1, drag2 and so on, and line 1 associates the variable vbMediatorObject with each drag object in turn. I can then use the simple form shown in line 2 to fill a two-dimensional array with these positions using dot syntax. This means that the designer is free to place the drag objects anywhere on the screen and Mediator will automatically read them in. This is important, as it allows the drag objects to snap back to their original position if the user gets the question wrong.
  21530. **Any proper
  21531. ty of any object can be accessed in this way. For example, you could store the current frame number of a Flash movie, the border colour of a rectangle or the transparency level of a picture. And, of course, this also works in reverse. For instance, vbMediatorObject.x=300 sets the x position of the Mediator object associated with vbMediatorObject to 300. 
  21532. **Although it will always be limited by the capabilities of VBScript, Mediator EXP has evolved way beyond its roots as an easy-to-use mu
  21533. ltimedia authoring tool. It also continues to improve in its traditionally strong areas. Perhaps the most underused feature introduced in version 6 of Mediator EXP is the Animation Track, which allows you to control visible objects, manipulating their properties as they move along an animation path. Exactly which properties you can manipulate depends on the type of object.
  21534. **As an example, I've dragged a polygon object from the Multimedia Catalog to a position just off the screen and adde
  21535. d a button to start the Animation Track. The screenshot shows the Animation Track dialog box. A PathPosition track is added automatically. At first, it looks complicated, but it's very intuitive. The bottom axis shows the elapsed time and the vertical axis the percentage position of the object along the path. The small squares represent nodes, or positions along the track. So, if you look at the first node, you can see that it represents a position around 50 per cent along the track after 
  21536. just over four seconds. The next node is around 40 per cent, so for the period between these two nodes the object is going backwards along the path. It then reverses direction again and progresses to the end.
  21537. **The more nodes you use, the closer the control you can achieve. By clicking the Add Track button, you may choose from any of the object's properties. In the case of a polygon, it's possible to choose a track based on anything from the object's opacity to its centre of rotation. In 
  21538. my example, I've added two more tracks. The first affects the rotation of the object between zero and, in this case, 720 degrees. I've added nodes at the same time point as the PathPosition track, so each change happens simultaneously. The first node represents the polygon rotating through around 700 degrees. The downward line between the first and second nodes indicates the shape then rotates backwards to zero before spinning more quickly between the last two nodes.
  21539. **The second new trac
  21540. k changes the opacity of the object, taking it from zero to 100 per cent at the first node, then fading out slightly before fading in again. Finally, I've added a different sort of track to change the background colour of the object. In this case, the object changes smoothly from red to orange at the first node, then to purple before ending at red again. I could add nodes covering every property if I wished.
  21541. **You can see from this example the extraordinary power Animation Track offers in
  21542.  such a simple form. Once you understand the unique but powerful interface, you can manipulate an object in any number of ways, far more simply than you could in, for example, Flash or Director.
  21543. **Opus Pro XE
  21544. *Digital Workshop has been a little quiet lately, following the flourish of activity that saw the release of several versions of Opus, including a plug-in that offers Flash export. However, the firm has recently extended its range with a product aimed squarely at the professional dev
  21545. eloper. At 
  21546. 399.95 (inc VAT), Opus Pro XE is 
  21547. 150 more expensive than previous top-dog Opus Pro, but is still substantially cheaper than Mediator EXP 7 and a fraction of the cost of Director MX. Opus Pro XE includes all the features of Pro, most importantly an ECMA-compliant scripting language in addition to the drag-and-drop authoring approach of the entire Opus series. In this way, Opus offers similar features to the Mediator product range. 
  21548. **XE is targeting people who earn their livin
  21549. g from multimedia creation. First, it includes copy- protection software, which only allows a presentation to be run from the CD-ROM. Protection such as this is notoriously difficult to implement, so it will be interesting to see how it works in practice - at the very least it should deter casual software theft. Similarly, you can now embed video clips into your Opus presentation to prevent their theft. 
  21550. **XE also adds the facility to create time-limited evaluation versions, so that poten
  21551. tial purchasers or clients can try out the software without risk to your revenue stream. However, it's not hugely challenging to add time-limiting features to a product created in Mediator or Director.
  21552. **The software can also record the time spent working on a publication, making it simpler to bill clients accurately. It also means it's easier for a number of programmers to work on a single publication, as it allows any programmer to attach notes to a page.
  21553. **Opus Pro XE distinguishes it
  21554. self in its support for the AICC Learning Management System standard. This format was created by the Aviation Industry CBT Committee, originally in 1988, to standardise the way training applications communicate with specialised databases. These databases record information about the learner, including their performance, test scores and progress. 
  21555. **All major Learning Management Systems support data transfer using the AICC standard, so if you're creating corporate learning applications Opu
  21556. s Pro XE's support will make interacting with your client's LMS much simpler (that is, until the newer SCORM standard becomes widely adopted). 
  21557. **It's possible, once you understand the AICC data format, to create an application in just about any development tool that supplies the data in that format: it's basically just structured text. However, Opus Pro XE is by far the simplest and cheapest way to get into AICC-compliant corporate training, and it's to Digital Workshop's great credit th
  21558. at it has spotted this gap in the market. 
  21559. **Although you can get templates for Flash that make it AICC-compliant, the main players in this field are Macromedia's Authorware and Click2learn's ToolBook Instructor, both of which will set you back around 
  21560. 2,000. With Opus Pro XE, Digital Workshop is clearly making a play for the corporate training market by addressing most of the weaknesses for professional use of Opus Pro. Oddly enough, its Achilles heel may be the low price. I'll let you ka.now more as I get better acquainted with it.
  21561. HMKevin Partner has to eat his words as he looks at the latest Director upgradeL
  21562. April 2003X
  21563. 102 (April 2003)i
  21564. MULTIMEDIA:VIDEO
  21565. Steve CassidyD
  21566. Junkyard computing
  21567. I+O+O+O+O
  21568. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  21569. +O+O+O
  21570. O+O+O
  21571. O+O+O+O+O+O+O+O
  21572. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  21573. O+O+O+O+O+O+O+O
  21574. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  21575. O+O+O+O+O+OE+O+O+O
  21576. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  21577. O+O+O+O+O+O+O+O+O+O
  21578. O+O+O+O+O
  21579. ,+O+O+OO+O+O+O+O+O+O+O+O+O
  21580. OO+O+O
  21581. O+O+O+O+O+O+O+O+O
  21582. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  21583. O+O+O+O+O+O+O+O+O
  21584. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  21585. O+O+O+O+O+O+O+O+O
  21586. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  21587. O+O+O+O+O+O+{
  21588. z{\z{
  21589. z{\z{
  21590. z{\z{
  21591. z+O+O+O+O
  21592. O+O+O+O+O
  21593. O+O+O+O+O+O+O+O
  21594. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  21595. O+O+O+O+O+O+O+O
  21596. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  21597. O+O+O+O+
  21598. O+O+O+O
  21599. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  21600. O+O+O+O+O+O+O+O
  21601. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  21602. O+O+O+O+O+O+O+O
  21603. O+O+O+O+O+O+O+O
  21604. +O+O+O+O+O+O+O+O
  21605. O+O+O+O+O+O+O+O
  21606. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  21607. O+O+O+O+O+O+O+O
  21608. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  21609. O+O+O+O+O)+O+O+O
  21610. O+O+O+O+O+O+O+O+O+O+O
  21611. toolk
  21612. wwwwww
  21613. UUUUUU
  21614. DDDDDD
  21615. """"""
  21616. O+O+O
  21617. O+O+O+O+O+O+O+O+O
  21618. O+O+O+O
  21619. +O+O+O
  21620. O+O+O
  21621. +OO+O
  21622. O+O+O+O+O+O+O
  21623. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  21624. O+O+O+O+O+Oz
  21625. O+O+O
  21626. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  21627. +O+O+
  21628. I+O+O+O+O
  21629. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  21630. +O+O+O
  21631. I+O+O+O+O
  21632. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  21633. +O+O+O
  21634. I+O+O+O+O
  21635. +O+O+O+O+O+O+O
  21636. O+O+O+O+O+O+O+O+O+O
  21637. +O+O+O
  21638. I+O+O+O+O
  21639. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  21640. +O+O+O
  21641. ~ffff
  21642. ffffff
  21643. ffff33
  21644. ff33ff
  21645. ff3333
  21646. 33ffff
  21647. 33ff33
  21648. 3333ff
  21649. 333333
  21650. multiuserk
  21651. multivendor
  21652. multiversion
  21653. multivoice
  21654. multivoltage
  21655. multivolume
  21656. multiway
  21657. multiyear
  21658. mumbled
  21659. mumblings
  21660. mummy
  21661. munch
  21662. munched
  21663. munchers
  21664. munches
  21665. munching
  21666. mundanea
  21667. munger
  21668. munging
  21669. munich
  21670. munitions
  21671. murder
  21672. murdersb
  21673. murdoch's
  21674. murkyd
  21675. murmur
  21676. murphy
  21677. murphy's
  21678. murray
  21679. muscat
  21680. muscle
  21681. muscle-bound
  21682. muscles
  21683. muscular
  21684. mused
  21685. museumb
  21686. museum-piece
  21687. museums
  21688. mushroomed
  21689. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  21690. I+O+O+O+O+O+O
  21691. +O+O+O
  21692. +O)+O+
  21693. +O+O+OO
  21694. OO+O+O
  21695. OO+O+O
  21696. +O+OO+O+O+O+O+O+O+O+O+O
  21697. O+O+O+O+O+O+O+O+O+O+O+O
  21698. +O+OO+O+O+
  21699. O+O+O+O+O+O+O
  21700. O+O+O+O+O+O+O+O+O+O+O+O
  21701. +O+OO+O+O+O+O+O+O+O+O+O
  21702. O+O+O+O+O+O+O+O+O+O+O+O
  21703. +O+OO+O+O+O+O+O+O+O+O+O
  21704. O+O+O+O+O
  21705. 400-minute
  21706. 400-page
  21707. 400-plus
  21708. 4000[
  21709. 40000
  21710. 400000u
  21711. 4000dpi
  21712. 4000mb
  21713. 400dpi
  21714. 400gbr
  21715. 400kbW
  21716. 400mb
  21717. 400mb/seca
  21718. 400mhz
  21719. 400ms
  21720. 404sS
  21721. 40comupd
  21722. 40dpi
  21723. 40gbr
  21724. 40in2
  21725. 40kgb
  21726. 40mb]
  21727. 40mbits/sec
  21728. 4300s
  21729. 433mhz
  21730. 434241
  21731. toolboxX
  21732. tooled-leather
  21733. toolhelp
  21734. toolintf
  21735. toolkitJ
  21736. toolkit's
  21737. I have a few weaknesses I will admit to, and one of them is being a bit of a junkyard dog. Recycling computers is an unnatural act to discuss in the middle of a magazine whose cover is devoted to the newest and fastest stuff you can currently find in the retail channel, but there's something I find both appealing and revealing about a solid rebuild of an old warhorse. 
  21738. **It's appealing because you get to find out all the things you did wrong, or just how much better the latest drivers are
  21739.  than the first releases or the Microsoft standards (see my comment on Sun Java later on). It's revealing because it's astonishing how much of a new lease of life awaits machines that are held back by nothing worse than a slow hard disk, not enough memory (which now costs effectively nothing) and a need to be in use 24 hours a day.
  21740. **There's good news and bad news in such junkyard diving. The good news is that I've collected a stable of machines with chequered histories, but which still t
  21741. urn over real work for me. Most of these are like the proverbial axe - new head, new handle, but still the same axe - and I'll cheerfully admit the uneconomic amount of time I spent reloading a Compaq Pentium II/350 when I could as easily have given someone 
  21742. 299 for a 1GHz Celeron. 
  21743. **I persisted because almost every operating system I've found will run cleanly and immediately on a Compaq, whereas many of the machines that populate the bottom price bracket have little gotchas up their sle
  21744. eves, courtesy of cost-cutting motherboard designs and neat but wacky integrated bargain-bin chipsets. 
  21745. **Then there's the speed-up you get as a 'goodbye present' from a lot of the first-tier equipment makers. I have motherboards here for Slot 1 Pentium II and III CPUs that were originally rated no better than 450MHz from both Supermicro and Abit. However, download the last revision of their BIOSes and you'll be able to go all the way up to 1GHz (so long as you have the dowsing rod, cryst
  21746. al ball and large roll of banknotes necessary to be able to unearth a Slot 1 processor that is (a) that fast and (b) for sale in the first place).
  21747. **So what has all this got to do with networks? That's where the bad news comes in. It's remarkably difficult to tell the difference between an old refurbished machine and a slightly off-colour new one. It's also remarkably easy to make a new machine off-colour if you don't have the time and attention that can only be spared by systems integrat
  21748. ors working in tens of thousands of units, or by hobbyists like me who go into the basement to get away from all the Christmas cheer, and fiddle with PCs to a wholly uneconomic extent. I have two cases to present as illustrations of this matter: one I class as fairly inevitable, the other came as a real surprise.
  21749. **Case 1: AMD Athlon, Abit motherboard. I've mentioned this machine briefly in a past column, most likely when it was playing host to my Supermicro P6SBA motherboard. Originally,
  21750.  this was an HP Brio PC, but its Pentium II/350 and HP proprietary mobo are long gone. Now it has a 1.2GHz Athlon and an Abit motherboard with an on-board IDE RAID controller - the kind you shouldn't be using in servers, no matter how tight your budget because, although they're an array, they surely aren't redundant.
  21751. **This machine plays my games, burns my CDs and gets test software thrown at it, but after a while I noticed that gameplay and DVD playback had become notably jittery. Some r
  21752. esearch on the Web revealed that by a slip of the designer's finger, this machine marries built-in motherboard resources to specific PCI slots. If you put some other card in the slot that also happens to sit on the on-board IDE RAID, disk I/O goes to the dogs. Of course, on a 1GHz machine sitting in front of a rack-load of dual 450MHz and 500MHz servers, that I/O problem frequently gets hidden in the traffic, until you try to do something really demanding. 
  21753. **The last straw was when I dro
  21754. pped in a junkyard find in the shape of a Matrox video-editing card, which wouldn't record video and save it to a networked drive for toffee. Jitter, jitter, drop-out, crash... A BIOS upgrade accompanied by exactly the right driver set from the Abit site, a judicious reshuffle of PCI cards in the slots, disabling various on-board bits I don't use (like the serial and parallel ports), and a complete blank disk rebuild from scratch was all it needed to turn this into a steaming fast, ten-yea
  21755. r- life workstation.
  21756. **Case 2: A Dell Dimension Pentium/166. I always had a hunch that these old Dell desktop cases were actually more standard than the parts inside them, and I had an interest in a fairly new Pentium 4 motherboard made by Supermicro, my favourite manufacturer. This device, the P4SBA+, runs a 2GHz Pentium 4 while still using 100MHz DIMMs for memory. It only took a few minutes wandering around <a href="http://www.dabs.com" target="_blank">www.dabs.com</a> to put an order t
  21757. ogether and, with a little screw-drivering when it all turned up, I had a machine that on the front says 166, but inside is 12 times faster.
  21758. **These two machines are nominally a whole gigahertz apart in performance. The difference becomes shatteringly clear at boot-time and when playing games, but (and here's the important point) the rest of the time I barely notice which one I'm using. I don't have any strong preference to turn one or the other on if I'm going to do some work, because mo
  21759. st of my work is server-centric. In truth, if you gave me a Pentium/233 with 200MB of RAM I'd be reasonably happy, because the rest of the network supports it remarkably well.
  21760. **Tale of woe
  21761. *That brings me to the bad news. A sorry tale has reached me that illustrates my recent observations about the demise of the TV repairman, and how his fate could be repeated in the IT marketplace as PC costs fall. I never expected to hear a tale like this one so soon. 
  21762. **The traditional model of 'PC s
  21763. upport' in small businesses may come as a bit of a shock if you're a capable, hobbyist fiddler or a large-company person. The model is defined by a formula: a company agrees to send you a man in a white van whenever you have a problem in return for 12 per cent of the capital value of your IT investment per annum. In recent years, that 12 per cent has become subject to top-ups and often these firms take intelligent advantage of their relationships, making more out of the deal through hardwa
  21764. re and consumable sales.
  21765. **This is computing as defined by central-heating fixers: as margins squeeze down, the maths that define their relationships with their clients get tighter and tighter. Of course, there's the same spread of character types in this business as in any other sector of commerce, but the bad ones are, as things get tougher, starting to show some nasty eccentricities. 
  21766. **In the case in question, it seems the 'maintenance company' had come to realise what I'd long since
  21767.  concluded - that you can leave most people running with a Pentium II/450 and they'll work pretty happily so long as it gets rebuilt every few years and fed a steady diet of hard disks. In this case, the company had put a pile of old bits into some new cases, sold them to the company at new-machine prices and then been called to account once the situation became known. 
  21768. **Details become sketchy at this point, but it seems the discovery of this situation and the ensuing negotiations ended 
  21769. with the maintenance 'engineer' marching through the office, throwing PCs out of the windows...
  21770. **This is, of course, an extreme case and also a one-sided story, but I don't need to see a pile of crash-landed PCs in someone's car park to know what's happening here. As costs fall and the pace of turnover of kit slows because people's 'good enough' flag has been raised, so those businesses that have been relying on the simpler forms of box-shifting and surfing on the back of the hype from t
  21771. he bigger players will find it ever harder to make ends meet. When someone turns a business relationship into an audition for 'One Flew Over the Cuckoo's Nest', it suggests that this business sector needs to think of a new basis for doing what it does, and quickly. 
  21772. **A wise man once told me that every recession is different and, hence, little that was learned from the last one - by the hardest-hit industry - is of any use to those hit in the next one. Looks like this time around it's theR5 turn of the computer business to learn some lessons.
  21773. HCSteve Cassidy turns rag-and-bone man before jazzing up his findingsL
  21774. April 2003X
  21775. 102 (April 2003)i
  21776. Networks
  21777. Davey WinderD
  21778. I spy
  21779. O+O+O+Oz
  21780. +O+O+O
  21781. +O+O+O+
  21782. +O+O+
  21783. +O+O+
  21784. +O+O+O
  21785. +O+O+O+OO+
  21786. +O+O+
  21787. +O+O+
  21788. +O+OO+O+O+O+O+O+O+O+O+O
  21789. O+O+O+O+O+O+O+O+O+O+O
  21790. +O+O+OO+O+O+O+O+
  21791. O+O+O+O+O
  21792. O+O+O+O+O+O+O+O+O+O+O
  21793. +O+O+OO+O+O+O+O+O+O+O+O+O
  21794. O+O+O+O+O+O+O+O+O+O+O
  21795. +O+O+OO+O+O+O+O+O+O+O+O+O
  21796. O+O+O+O+O+O+O
  21797. O+O+O+O
  21798. O+O+O+O+O+O+O+O{
  21799. *+O+O%
  21800. O+O+z
  21801. O+O+z
  21802. +GO{*
  21803. O+O+O+O+O+O
  21804. O+O+O+O+O+O+O+O+O
  21805. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  21806. +O+O+O
  21807. +O+O+O
  21808. +O+O+O
  21809. +O+O+
  21810. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  21811. O+O+O+O+O+O+O+O
  21812. +O+O+O+O+O+OO+O
  21813. +O+O+O+O+O+O+O+O
  21814. O+O+O+O+O+O+O+O
  21815. +O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  21816. O+O+O+O+O+O+O+O
  21817. +O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  21818. O+O+O+
  21819. O+O+O+O+O+O+O+O
  21820. %U%UI1
  21821. O+O+O
  21822. zO+O+O
  21823. I+O+O+
  21824. plucking@
  21825. plug-and-play@
  21826. pluggable@
  21827. plums
  21828. plunged
  21829. plural@
  21830. plus/minus
  21831. plymouth
  21832. poached@
  21833. pockets
  21834. pocketstudio
  21835. pogo@
  21836. point
  21837. point-and-click
  21838. point/click@
  21839. pointer
  21840. pointer's@
  21841. pointless@
  21842. points
  21843. pointtoclient@
  21844. policing
  21845. policy@
  21846. policy-based@
  21847. polka
  21848. polygon@
  21849. pond/ljbeta/win2k
  21850. pondering@
  21851. poor-sighted
  21852. poorly@
  21853. pop-out@
  21854. pop-ups
  21855. pops@
  21856. popularity@
  21857. populated
  21858. populations@
  21859. port-mapping
  21860. portable@
  21861. portables@
  21862. portrait-format@
  21863. portugal
  21864. posed@
  21865. positional@
  21866. possessing@
  21867. possible@
  21868. possibly
  21869. post@
  21870. post-it@
  21871. poster's@
  21872. real-time
  21873. real-world@
  21874. realise@
  21875. realising@
  21876. reasons@
  21877. received@
  21878. reception@
  21879. recommend@
  21880. recordset@
  21881. slottingT
  21882. slouch
  21883. slouching
  21884. slough
  21885. slovak
  21886. slovak'sq
  21887. slovakian
  21888. slovaktechq
  21889. slovenian
  21890. slowJ
  21891. dropping`
  21892. drops
  21893. dropshadow
  21894. dross
  21895. drought
  21896. drove
  21897. drown
  21898. drowned
  21899. drowning
  21900. drsps
  21901. dru-500a
  21902. drudge
  21903. drying
  21904. dsc-f707
  21905. dsmith
  21906. dsnsz
  21907. dsosversioninfosize
  21908. dsp-based
  21909. dtdatetimeo
  21910. dtetime1
  21911. dtetime2
  21912. A decade ago, I was writing about two distinct 'wares' as far as the online community was concerned: shareware and WaReZ (yes, software pirates pre-date Ali G in the comic abuse of EngLish SpeLLinG). Unfortunately, the latter are as active as ever, and the increasing availability and affordability of broadband connectivity has allowed WaReZ to move off campus and firmly into both the domestic and corporate environments. 
  21913. **The distribution of cracked, pirated, unlicensed software remains 
  21914. as illegal as ever, but fast web connections, peer-to-peer networks and ever-changing IM group hangouts all mean it's sadly easy to find and download everything from Windows XP Pro and Office XP to those applications previously too large for downloading like Photoshop and Quark. 
  21915. **As for shareware, that has changed almost beyond recognition, splintering into all kinds of niches to capture a global market that demands something, anything, that will grab the ever-diminishing attention span
  21916.  of the Internet consumer. 
  21917. **So it is that we find ourselves faced with a multitude of options when looking for a FTP client, for example. Beyond the obvious questions of suitability for task and feature set, the next big tick on the list is often How Much? The Internet generation tends to favour things being free, and that includes software. Much of what was shareware has become freeware, or is offered in both free and paid-for versions - the former, there being no such thing as a free 
  21918. lunch, subsidised by sponsored advertising banners that can't easily be removed. 
  21919. **It's ironic that in the rush to get something for free, vast numbers of Internet users are sacrificing their treasured right to privacy on the altar of advertising-sponsored freeware. Let's get this straight: not all freeware impinges upon your privacy, and not all invasions are perpetrated by banner ad-displaying software. To understand the whole picture, look closely at the definitions of three new wares
  21920.  that are more prevalent in the modern online age: adware, malware and spyware.
  21921. **Warez the beef?
  21922. *It can be hard to properly distinguish these three terms, thanks to sloppy thinking among the online chattering classes (for whom fact never gets in the way of a good Usenet posting) and the IT media, which can be just as guilty of spreading half truths and 'factions'. We need to be clear on these definitions if the commercial Internet and the understandable desires of its users are to coexi
  21923. **Adware is, at its simplest, just the use of sponsored adverts to finance the continued development of free software. The user will often get a choice between buying a licence and getting an ad-free version, or taking the 'free' route and suffering the embedded ads that come with the package. Such adverts will usually take the form of a banner, scrolling ticker or a dedicated frame/window within the application itself. However it materialises, you can't easily disable or remove it, 
  21924. and importantly the viewing of such adverts results from a conscious decision taken by yourself. 
  21925. **At the opposite extreme, we find malware - malicious software - which is specifically designed to damage or disrupt your PC, typified by the virus or Trojan. True adware, despite what you might read elsewhere, is far removed from malware and doesn't deserve the bad press it gets. What not only deserves bad press, but also merits much wider media coverage than it currently gets (probably bec
  21926. ause it's a technical issue and often not understood sufficiently by those who would write about it) is the last of our 'wares' trio, spyware. 
  21927. **Falling somewhere between adware and malware, spyware isn't illegal (to the best of my knowledge), though European data privacy legislation could soon dramatically change this. It's most definitely unethical and deeply disturbing, the more so because it often purports to be straightforward adware or even to be non-sponsored, no-catch shareware. 
  21928. Yes, the sad news is that you can pay for the privilege of having spyware installed on your PC and deliver your personal data directly into the hands of online advertisers. Almost without exception, spyware is stealthy - why do you think it's called that? 
  21929. **You install software A, but this process also installs utility B, the spyware component. Spyware components are best thought of as demographic/marketing data-collection and analysis agents, tracking your online movements, preferences 
  21930. and activities and then delivering this data to some third party with whom you have entered into no explicit agreement. Of course, the reality may be that you actually did sign away your right to privacy and control because you didn't bother to read the small print of the end-user licence agreement, but most folk simply hit the 'I Agree' button during installation (perhaps there's a lesson to be learned). 
  21931. **The end result is that your privacy is breached, your control over how private da
  21932. ta about you is used removed, and - most of the time - this all happens behind the scenes without you knowing such information is even being collected, let alone collated, stored and used to point ever more supposedly tailored advertising at you (just for the record, I don't need Viagra, I'm happy with the size of my breasts, and I can probably survive without a remote-controlled micro-racing car, thank you very much). 
  21933. **Privates on parade
  21934. *Assuming that you do care about privacy and tha
  21935. t you accept you may have installed software containing a spyware element without your knowledge, how may both your privacy and system integrity have been affected? Yes, you read that last bit right, there is more at stake here than just control over personal data (as if that weren't enough). 
  21936. **As a PC Pro reader, you most likely take the long-trousered approach to computing both in the office and at home, and a big part of being a grown-up PC user is being in control of what software yo
  21937. u install on your standalone or networked PCs. Anything that gets installed by stealth has to be bad news. How can you make any sensible decision about how it might impact upon system integrity, stability and functionality when you don't know that it's even there, let alone what it does or how it operates? 
  21938. **And this doesn't even start to touch upon thorny issues such as the responsibility of an employer to abide by the conditions of an Acceptable Use Policy that may form part of a contr
  21939. act of employment, and which will probably lay out the conditions under which that employer may monitor online usage and movements. What if your employer doesn't know that a spyware agent is monitoring such activity and reporting back to some equally unknown third party, but a clued-up employee finds out?
  21940. **Although removing spyware usually results in the 'host' application ceasing to function reliably, if at all, the reverse procedure of removing the host application that has installed s
  21941. pyware components doesn't in itself guarantee a cure. More often than not, the spyware parasite will hide itself in the Registry and not let go, nor stop transmitting that marketing information. In some cases, these spyware components are so intertwined into the system Registry that all but the most precise of removal strategies can result in damage to system integrity, such as loss of Internet connectivity or network instability.
  21942. **A good place to learn more about the perils of spyware i
  21943. s <a href="http://www.tom-cat.com/spybase" target="_blank">www.tom-cat.com/spybase,</a> where you'll also find the excellent TomCat Spyware List utility. This online tool consists of a quick and easy web-based front end to a database containing details of a thousand or so spyware components and the host applications that install them. It's not foolproof, although it does make for a decent first defence against spyware infection in that you can query the database by host application name or
  21944.  part thereof. 
  21945. **For example, if you were looking for a shareware FTP utility, it's easy enough to search on 'FTP' and get a list of software that's flagged either as a confirmed carrier of spyware, under investigation or cleared. You can then follow the click trail deeper to reveal exactly what spyware is installed by any particular application and make your own grown-up decision about whether to proceed further or not. 
  21946. **TomCat also allows you to search the database by spyware compon
  21947. ent and reveals equally detailed information as a result. Of course, if you spot an unknown process at work using Task Manager or similar, you can just as easily slap it straight into Google and more often than not reveal just as much detail, but I quite like removing a layer of unnecessary research time by going straight to a dedicated resource such as this.
  21948. **The soft option
  21949. *That brings me nicely on to the second line of defence, which assumes that you're not sitting in front of a bran
  21950. d spanking new PC, unblemished by software installation, or have not vetted all installations via TomCat before allowing them anywhere near your machinery. Back to the real world then, and the task of playing detective and turning the tables by spying on the spyware. There are numerous tools out there that claim to do this job, but some are frankly incapable of telling their virtual ass from their virtual elbow, while others assume that every .DLL is dirty and destroy your system directory
  21951.  with a hail of deletions. 
  21952. **The best application - for as many years as I have been aware of this subject - has been Ad-aware by Lavasoft (<a href="http://www.lavasoft.de" target="_blank">www.lavasoft.de</a>). Having the advantage of being free to use, this product has built a user base of millions, some of whom (like myself) have coughed up the paltry $15 (
  21953. 9.50) to register the 'plus' version and help keep development going, while getting in return some additional configuration option
  21954. s and a bonus 'ad-watch' real-time monitoring module thrown in for good measure. 
  21955. **You may notice that I said best in the past tense, which perhaps isn't entirely fair as I suspect Ad-aware will regain its crown once the version 6 upgrade is released. But for now, those of us who have relied upon Ad-aware 5.83 to detect and destroy spyware must think about an alternative if we are to keep our systems clean and our movements as private as they can realistically be online. 
  21956. **The problem 
  21957. arises out of the need to provide users with regular 'reference file' updates containing details of the latest spyware components, exploits and mutations. These are downloaded and integrated into the Ad-aware engine automatically (if so configured) and, because the system has always worked so well, most users have treated it as a fire-and-forget solution. 
  21958. **This is fine, as long as those reference file updates keep coming, but as I write these words the last such update was dated 24 Sept
  21959. ember 2002. This lack of essential updates isn't due to a lack of motivation from the user base who help to supply details of new exploits and mutations of existing threats using the accepted submission procedure. Such users have noted that, despite their submissions, no updates have been forthcoming, and some well-respected and high-profile folk - including previous administrators of the support forum - are reporting that their complaints have been deleted. 
  21960. **Whatever the behind-the-sce
  21961. nes politics and manoeuvrings, one fact is crystal clear: there's such a gap in the reference updates that it's irresponsible to suggest anyone rely on Ad-aware until this situation is resolved. I hope this resolution will have been reached by the time you read this. 
  21962. **Posting in the support forums at <a href="http://www.lavasoftsupport.com" target="_blank">www.lavasoftsupport.com,</a> an official statement apologises for the inconvenience, but informs users that '...to effectively and s
  21963. afely remove many new targets and those older ones which have changed/mutated, we would need to do a major upgrade of 5.83 and its reference file. The 5x engine (in its current configuration) cannot handle many of the new targets correctly... the entire Ad-aware executable would need to be rewritten.' 
  21964. **And that's just what's happening. Version 6 is under development and promises to be more than just an update, but rather a whole new application. In light of this, the statement continues
  21965. : 'We decided that any further upgrades beyond 5.83 would be more of a waste of time than productive as the coding work for version 6 was already under way.' A release schedule for registered Ad-aware Plus users was set for mid-January, with a free version coming in February. Ann-Christine Akerlund, one of the owners of Lavasoft, added an assurance that, in spite of rumours, the version 6 upgrade will be free for paid-up users.
  21966. **This is all good news, assuming those schedules are met and
  21967.  no more of the delays that have disrupted the development process intervene. Whatever the case, Lavasoft will have to pull out all the stops with its Ad-aware revamp and make the new product as exciting and functional as the one that appears to have stolen its crown in the meantime, Spybot S&D. Initially popular because, like Ad-aware, it comes as a freeware utility, Spybot (<a href="http://http://spybot.eon.net.au" target="_blank">http://spybot.eon.net.au</a>) has maintained the growth o
  21968. f its user base largely through word of mouth of satisfied users. There's no 'Pro' or 'Plus' version of the software, although if you're feeling generous you can make a donation to help development continue. 
  21969. **The S&D stands - rather annoyingly - for Search and Destroy, but get past this frippery and you discover an application that does what it says on the box and then some. Like all such software, it demands attention from the user: when you're mucking around with the Registry and remo
  21970. ving .DLLs at the very least you need to read the FAQ. Cruising through on auto-pilot and just clicking all the 'Yes, do it' buttons could end with you doing more harm than good. However, Spybot does come complete with a 'recovery' option that rebuilds what it has knocked down, step-by-step, so you can even spot where the damage was done. 
  21971. **Another neat feature is the colour coding of alerts. If something is flagged in red, Spybot is pretty sure it's a spyware problem and these are pre-s
  21972. elected for removal (although I still maintain there's a need to check through manually to make sure before doing the deed). Black entries are system internals best left alone unless you really know what you're doing (if you don't understand what these are, leave them alone). Finally, the entries marked in green are application usage tracks, which you can safely remove on an application-by-application 'need to know' basis.
  21973. *What separates Spybot from the crowd - and that includes most o
  21974. f the commercial products flooding the market - is the depth of detail it gives when you hit the Description button. This pops up a 'more information' box, which highlights the company concerned, the product and nature of the threat. You get URLs taking you to the relevant developers' sites, including privacy policy pages where appropriate, a pr
  21975. cis of that policy if available, and a full and complete description of what the component does and why. It is both impressive and educational, an
  21976. d I've certainly learned a thing or two since using it. Make sure you use the update function though, as this updates both the core Spybot engine and the necessary reference files to keep on top of new exploits. 
  21977. **Throw in its excellent logging options, flexible configuration and even value-added bonuses such as a file shredder for more permanent deletions and Lavasoft might have a job on its hands clawing back those users who've jumped the Ad-aware ship in favour of the Spybot boat whil
  21978. -e the development seas have been heavy going. Me, I'll use both. In fact, if you want to take a grown-up attitude to online security, privacy and system integrity issues, you'll adopt a multipronged strategy that includes anti-virus protection and firewalling as well as spyware scanning and the like.
  21979. HODavey Winder opts for stealth mode as he delves into the murky world of spywareL
  21980. April 2003X
  21981. 102 (April 2003)i
  21982. Online
  21983. Tom ArahD
  21984. Filter tips
  21985. Two issues ago, I looked at the huge power and creativity that the use of bitmap filters can open up, from the basic blurring and sharpening operations through to advanced artistic effects. This month, I'm going to explore how Photoshop users can bring out the full potential of the dozens of filters available to them. 
  21986. **First, you have to make the most of the power offered within each filter, which is easier said than done. The sheer range of options means no-one can intimately know the 
  21987. anywayJ
  21988. aol's
  21989. aol-time
  21990. aowner
  21991. ap400
  21992. thinkA
  21993. purposeE
  21994. putsC
  21995. puttin
  21996. advertisingS
  21997. advertising's
  21998. advertising-related
  21999. advertising-sponsorem
  22000. advertsH
  22001. +O+O+O
  22002. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  22003. O+O+O+O+O+O+O+O
  22004. +O+O+O+O+O+OO+O
  22005. +O+O+O+O+O+O+O+O
  22006. O+O+O+O+O+O+O+O
  22007. +O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  22008. O+O+O+O+O+O+O+O
  22009. +O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  22010. O+O+O+
  22011. O+O+O+O+O+O+O
  22012. %UI1I1z
  22013. +O+O+O+O
  22014. +O+O+OO+O+O+O+O+O+O+O,N,O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+OO+O+O+{
  22015. +O+O+
  22016. +O+O+O
  22017. +O+O+O+O+O
  22018. +O+O+
  22019. +O+O+
  22020. +OO+O+O+O+O+O+O+O+O+O
  22021. O+O+O+O+O+O+O+O+O+O+O+O
  22022. +O+OO+O+O+O+O+O+O
  22023. +O+O+O
  22024. O+O+O+O+O+O+O+O+O+O+O+O
  22025. +O+OO+O+O+O+O+O+O+O+O+O
  22026. O+O+O+O+O+O+O+O+O+O+O+O
  22027. +O+OO+O+O+O+O+O+O+O+O+O
  22028. O+O+O+O+O+O+O+O+
  22029. O+O+O
  22030. O+O+O+O+O+O+O+O+O{
  22031. O+O+z
  22032. O+O+O
  22033. O+O+{
  22034. O+zO+O+O
  22035. OG+O+{
  22036. O+O+O+O+O+O,N,O
  22037. OO+O+O+O+O+O+O+O+O
  22038. +O+O+O+O+O+O
  22039. +O+O+
  22040. investingX
  22041. investmentP
  22042. investments
  22043. investors
  22044. inveterate
  22045. invigorated
  22046. inviolate
  22047. invisible{
  22048. toolsetg
  22049. toolsets
  22050. toolsfactory
  22051. tooltip
  22052. tooltips
  22053. toonboomstudio
  22054. toons
  22055. lavasoftm
  22056. lavasoftsupportm
  22057. laver
  22058. lavish
  22059. lavished
  22060. lavishing
  22061. law's
  22062. law-abiding
  22063. lay-offs
  22064. layerK
  22065. layer'sn
  22066. layer-based
  22067. layer-upon-layer\
  22068. layeredA
  22069. layering
  22070. layersF
  22071. scheduler`
  22072. schedulers
  22073. schedulesm
  22074. schedulingh
  22075. schemaT
  22076. schemasB
  22077. schemas-microsoft-co
  22078. schematics
  22079. scratchy
  22080. screams]
  22081. screeching\
  22082. screenD
  22083. screen-readingH
  22084. screen-sized
  22085. screen/webd
  22086. screensE
  22087. screenshotF
  22088. screenshotsB
  22089. screw]
  22090. screw-driveringl
  22091. screw-upL
  22092. screwedq
  22093. screws
  22094. scribble
  22095. scribblesT
  22096. scriptE
  22097. scriptingC
  22098. entryG
  22099. entry-levelX
  22100. entryid{
  22101. entryid/storeid
  22102. entryids
  22103. enumerated
  22104. enumerates
  22105. enumerating
  22106. enumeration
  22107. especiallyA
  22108. fileshare`
  22109. filespec
  22110. filestream
  22111. filesys
  22112. filesystem
  22113. filesystem-object
  22114. filesystemobject
  22115. filetype
  22116. fileup
  22117. filewise
  22118. filewrite
  22119. filextra
  22120. filez
  22121. filingp
  22122. fillG
  22123. fillstate
  22124. O+O+O+O
  22125. %U%U%U%UI1I1I1I1I1I1I1I1I1I
  22126. O+O+O+O+O+O+O+O+O
  22127. %U%U%U%U%U%UI1I1I1I1I1I1I1I1I1I
  22128. O+O+O+O+)O+O+O+O+O
  22129. %U%U%U%U%U%UI1I1I1I1I1I1I1I1I1I
  22130. OO+O+O
  22131. O+O+O+O+O+O+O
  22132. +O+O+O+Oz
  22133. +O+O+O+O
  22134. +O+{N{
  22135. N,O+Oz+
  22136. z{+O+O+z
  22137. O+O+O+O+O+O+O+O+O
  22138. I+O+O+O+O+O+O+O
  22139. +O+O+O+O+O+O+O+O
  22140. O+O+O+z
  22141. +O)+O+
  22142. +OO+O+
  22143. +O+O+O+O+O+O+O
  22144. I+O+O+O+O
  22145. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  22146. +O+O+O
  22147. +O+O+O
  22148. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  22149. +O+O+O
  22150. I+O+O+O+O
  22151. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  22152. +O+O+O
  22153. I+O+O+O+O
  22154. +O+O+O+O+O+O+OO+O+O
  22155. O+O+O
  22156. O+O+O+O+O+O+O+O+{
  22157. +O+O+OO+
  22158. +O+O+O+O+O+O
  22159. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  22160. O+O+O+O+O+O+O+O+{
  22161. effect of every parameter. Most parameters are controlled via gauges, but because of often unpredictable interactions between different settings there's often no obvious connection between increasing or decreasing a particular parameter and the effect it produces. 
  22162. **The best way to get to grips with each filter is to experiment, and a useful tip for Photoshop and Elements users is to hold down the Alt key while dragging a parameter's gauge, as this updates the small Preview dialog in rea
  22163. l-time. Pressing Alt also turns the Cancel command into a Reset command that restores all parameters to the last applied settings or in-built defaults. If the filter allows, it's desirable to preview the effect on your image as a whole. For screen work, it's important to set your view to 100 per cent to see how your actual pixels are affected, while for print work it's also useful to see how the effect will work to scale by switching to Print view (Photoshop lets you swap views even while 
  22164. the Filter dialog is open).
  22165. **Most filters are capable of producing vastly different effects, each of which might be desirable in different circumstances. The more advanced programs recognise this by providing filter presets, which are simply stored parameter settings. Even more useful would be the ability to save and load your own commonly used settings, and in Photoshop you can achieve the same effect by recording filter settings as part of an action from the Action palette. 
  22166. **You cou
  22167. ld, for instance, set up separate Unsharp Mask actions, with different diameter and threshold settings for images destined for screen and print, or set up Chalk & Charcoal artistic effects with different colours and weightings.
  22168. **It's crucial that you get the effect exactly as you want it in advance, because all Photoshop's filters are 'destructive', which means that once applied the original input pixel values are lost. In other words, unlike changes made via adjustment layers or layer s
  22169. tyles, you can't recall the dialog at some later stage and retrospectively fine-tune the effect. Hence, if the effect on the image as a whole isn't exactly what you expected, hit <Ctrl-Z> to undo the filter, then <Alt-Ctrl-F> to call up the dialog again for another try. 
  22170. **Both Photoshop and Elements offer slightly more flexibility via the History palette, which lets you undo back to an earlier image state. In Photoshop, you also have the option of storing an image state using the palette
  22171. 's Snapshot command. This is particularly useful with filters, making it possible to store variations of an effect and then view them quickly in turn to select your favourite. You can even create an action that automatically applies different filter settings and stores the results as selectable snapshots.
  22172. **Using these tips, you should be able to get nearer the results you want, but usually you'll still want to adjust the end effect. Sometimes a filter effect may appear too weak and your 
  22173. best option is to re-apply it (<Ctrl-F>), say, to boost sharpening. More commonly, the effect will be too strong and you'll want to tone it down. In Photoshop, the Edit | Fade command (<Shift-Ctrl-F>) merges the before and after image states. Essentially, the Fade command is a filter in its own right, taking each pixel's before and after values as its inputs - set Fade to 50 per cent and the pixel value is calculated by splitting the difference between the original and filtered values. 
  22174. *While the most common use of the Fade command is to tone down the filtered effect, it can do much more, thanks to the use of blend modes. By setting the blend mode to Darken, the filtered pixel value will only be used if it's darker than the original. Set the blend mode to Difference and the final colour becomes the difference between original and filtered values, producing unpredictable and eye-catching results. 
  22175. **This mixing of original and filtered image states is great for producing
  22176.  both subtle and striking effects, and in many ways the Fade command should be seen as the most useful of all filters. As with every other filter, its effects are destructive - you can't retrospectively fine-tune your filter's strength. However, you are able to get around this and even provide similar capabilities within editors that don't offer a Fade command by the intelligent use of layers.
  22177. **Select your original image, copy it and paste it as a new layer, then apply your filter effect
  22178.  to the new layer. You can fade the effect by changing the new layer's opacity, or create blend-based effects by selecting from the full range of layer blend modes. Crucially, this approach allows you to change opacity and blend mode at any time, and because you've kept a copy of the original image you can always delete the filtered layer and start again. While not as flexible as a non-destructive layer style or adjustment layer, this trick is a definite step forward.
  22179. **Behind the mask
  22180. pplying filters globally to the entire image is easy, but you may want to sharpen only particular features, to motion-blur a stationary object or to apply a canvas texture to just the white areas. In fact, controlling where filters are applied is also fairly simple - just make a selection first using any of Photoshop/Element's selection tools or commands. 
  22181. **If you're using Photoshop rather than Elements, you can apply filters to selections or even individual channels by first selecting o
  22182. ne from the Channels palette. This can create subtle effects - for example, applying a sharpen filter to just the colour channel with the highest contrast - or striking effects, such as applying a coloured pencil effect just to an image's blue channel.
  22183. **You may also apply filters based on Photoshop's user-defined alpha channels or masks. This is particularly powerful as you're able to control the effect just as with the Fade command, but intelligently varying its strength across the imag
  22184. e. By creating and selecting, for instance, a radial gradient alpha channel before applying a Gaussian Blur, it's possible to produce depth-of-field effects that draw attention to the focus of your image. Do the same and apply any Brush Strokes filter and you can create the effect of a photograph seamlessly turning into a painting. 
  22185. **Using selections and masks with your filters offers great creative control, but the need to know exactly what effect you want to produce and set it up in ad
  22186. vance is a serious hindrance to creativity. An alternative approach in Photoshop is to use the History palette to take snapshots of the original and filtered images and then to select the original snapshot. 
  22187. **Using the History Brush (shortcut Y), target the filtered snapshot in the History palette by clicking its source box and then selectively paint the filtered colour values onto your original image. You can even change the History brush's opacity and blend mode to take further control
  22188. , and target the original snapshot to undo any changes. Effectively, this means it's possible to interactively paint onto your image with any variation of more than a hundred filters.
  22189. **In many ways, the History brush is Photoshop's most powerful and adaptable tool, but it still has one drawback: when you close the image, all snapshots are lost and any changes are made permanent. Alternatively, you can maintain maximum non-destructive flexibility by again turning to layers. Store your bef
  22190. ore-and-after image states as separate layers and then add a layer mask to the topmost filtered layer using Photoshop's Layer | Add Layer Mask | Reveal All command. When the layer mask is selected as the current target, painting with a solid black brush reveals the underlying original image layer, while painting with solid white re-applies the filter effect to any original areas that you've revealed. Painting with grey creates a semi-transparent mask that merges the before and after image 
  22191. states. By adding a gradient to the layer mask, you can even manage global fade effects, so - because you can always change the gradient - the mixing effect remains live and editable.
  22192. **Through the intelligent use of layers, you've now taken total and fully editable control of the mixing of an original image with any given filter, but don't get carried away. We might have managed to make the Fade command non-destructive, but there's still a major limitation that becomes apparent if you wa
  22193. nt to apply a second filter. Filters can't be applied like an adjustment layer to all underlying layers, and so your only option is to flatten the layers, making all changes permanent and immediately losing the flexibility and editability you've laboriously built up.
  22194. **One of the biggest strengths of filters comes through their combination. Before applying a Find Edges filter, for example, it's often useful to apply a Colour Reduction filter. And the best way to produce a brushed metal fi
  22195. ll is to apply some Noise followed by a Motion Blur and so on. If you thought filters on their own provide enormous creativity, combining them means the variations become virtually infinite. 
  22196. **It's worth thinking about this in more detail. Each filter works by taking original input pixels and applying a mathematical operation to generate a set of new values. In more advanced filters, such as some of the artistic effects, these new values are then used as the input values for further oper
  22197. ations, so that the final filter effect is the result of a stack of serial operations. And, crucially, there's no reason why this stack shouldn't straddle multiple separate filters, in which the separate filters themselves act like the parameters of a larger overall effect. 
  22198. **But there's a problem when it comes to controlling the final result of these combined filters. It's difficult enough to predict and control the interaction of parameters within a single dialog, so how can you experi
  22199. ment to get the best result from the combination of various settings when the parameters are split between different filters? With adjustment layers and layer styles, this isn't a problem. If you're combining Levels and Hue/ Saturation adjustments for example, you can fine-tune each in turn, while Photoshop's Layer Style commands allow you to independently manage multiple interacting style effects from a single central dialog.
  22200. **What's needed is some way to keep the stack of filter operat
  22201. ions live so you're able to experiment with different settings to produce the best possible results. This is exactly what the UK company Fo2PiX promises from its artistic buZZ.Pro 2 plug-in filter (<a href="http://www.fo2pix.co.uk" target="_blank">www.fo2pix.co.uk</a>). In fact, buZZ.Pro is a collection of 19 filters for applying colour reduction, edge detection, blurs and so on. However, what makes it different is that you don't apply these effects individually, but instead combine them i
  22202. n an ongoing stack. To produce its Oil effect, for example, the stack is built up from colour edge detection, emboss and two simplifier effects. At any time, you can reorder this stack, add or delete steps or fine-tune each filter, say, to cut down on the number of colour areas in the image. Each change will produce completely different end results.
  22203. **It's possible to save stacks that work well for future use, and buZZ.Pro comes with a selection of 13 presets ranging from Bright Colour Wa
  22204. sh through to Watercolour. It works as a proof of principle - demonstrating the huge creative advantages that flow from combining multiple live effects - but has a number of intrinsic and unavoidable limitations. It can be difficult to judge an effect from the tiny preview offered and, while its range of filters is reasonable, there's no way Fo2PiX can ever hope to match the full breadth and depth of Photoshop's existing filters. But, most damaging of all, while each individual filter rema
  22205. ins live within a buZZ.Pro stack, the overall effect is still destructive and, once applied, there's no going back to fine-tune it.
  22206. **Clearly, a more general solution is needed to answer all of these criticisms, and the answer is staring us in the face. Why not apply the existing Photoshop filters in a non-destructive way, either as adjustment layers that affect all underlying layers, or as layer styles that would affect just the layer to which they're applied? After all, this sort of bit
  22207. map-processing power is available in another Adobe graphics application - the vector-based Illustrator. 
  22208. **One of Illustrator's biggest strengths is that it provides the majority of Photoshop's filter collection on its Filters menu, ready to be applied to any imported bitmap. More powerful still, these same filters can also be applied from its Effects menu. At first, this duplication might seem strange, but applying a filter as an effect has a number of advantages, most obviously that you
  22209. 're no longer restricted to applying the filter to bitmaps and are able to apply it just as well to vector objects that are automatically rasterised and masked. 
  22210. **Illustrator's rasterisation isn't destructive as it is within Photoshop, where you have to permanently render a shape layer down to pixels before applying a filter. Instead, the effect is live and works like a layer style so that it's  still possible to edit your objects by resizing, repositioning, reshaping, reformatting and s
  22211. o on, with the filter automatically re-applied. In short, you have the best of both worlds: the precision and editability of vectors and the creativity and naturalism of pixels. 
  22212. **Also, because Illustrator's effects are non-destructive, they are retrospectively editable. Select an object that has had a filter effect applied to it and open the Appearance palette (<Shift-F6>), which lists any applied effects along with other formatting options. Double-click on the filter name and its di
  22213. alog opens for you to fine-tune the settings. Even better, there's nothing to stop you applying multiple filter effects, each of which is listed in the Appearance palette. Re-order the filters or change settings and the overall effect is changed accordingly. It's possible to create buZZ.Pro-style stacks using any combination of any filter and edit it at any time.
  22214. **This is exciting creative power, but the system still isn't perfect. For one thing, Illustrator only allows filters to be app
  22215. lied directly to objects, with no option to apply effects to all underlying objects or sections of objects as there is with the lenses in Deneba Canvas - in other words, you can apply filters like layer styles, but not like adjustment layers. It's also important to realise that there's a serious performance hit involved in keeping filters live, especially if you target your effects to produce 300dpi print work rather than 72dpi screen work. 
  22216. **Hopefully, Adobe is listening and will add op
  22217. tions to temporarily switch off or lock effects in the next release of Illustrator. More to the point, I hope the company is working on adding a similar non-destructive approach to managing filters where it makes most sense - in Photoshop. In the meantime, the best way to make the most of Photoshop's bitmap filters is to get to grips with the Actions, History and Layers palettes - and Illustrator.
  22218. HJTom Arah shows you how to make the absolute most of your Photoshop filtersL
  22219. April 2003X
  22220. 102 (April 2003)i
  22221. Publishing / Graphics
  22222. Mark Newton / Paul OckendenD
  22223. Testing times
  22224. can't
  22225. contain
  22226. excitement
  22227. microsoft
  22228. launched
  22229. can't
  22230. resist
  22231. telling
  22232. happened
  22233. installed
  22234. quite
  22235. installations
  22236. month
  22237. freebsd
  22238. don't
  22239. psion
  22240. manages
  22241. lucky
  22242. every
  22243. don't
  22244. admitting
  22245. little
  22246. tetchy
  22247. don't
  22248. think
  22249. entirely
  22250. microsoft
  22251. don't
  22252. harsh
  22253. microsoft
  22254. examined
  22255. millennium
  22256. problem
  22257. these
  22258. pages
  22259. explained
  22260. month
  22261. microsoft
  22262. forced
  22263. guess
  22264. should
  22265. excited
  22266. windows
  22267. weaknesses
  22268. admit
  22269. something
  22270. love/hate
  22271. relationship
  22272. software
  22273. haven't
  22274. written
  22275. about
  22276. symbian
  22277. lately
  22278. although
  22279. there
  22280. should
  22281. mouth
  22282. whenever
  22283. writing
  22284. column
  22285. hours
  22286. after
  22287. returning
  22288. O+O+O+O+O+O+O+O
  22289. %UI1I1I1I1I1I1I1I1I1I
  22290. +O+O+O+O+O+
  22291. O+O+O+O+O+O+O+O
  22292. %UI1I1I1I1I1I1I1I1I1I
  22293. +O+OO+O+O+O+O+O+O+O+O+O
  22294. +O+O+O
  22295. I+O+O+O+O
  22296. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  22297. +O+O+O+O
  22298. O+O+O+O+O+O+O
  22299. %UI1I1I
  22300. +O+O+O
  22301. O+O+O+{O+O+O+O+O+O+O+O+O
  22302. +O+O+OO+O+O+O+O+O+O+O+O+
  22303. O+O+{
  22304. O+O+O+O+GO+O
  22305. O+O+O+O+O+O+O
  22306. O+O+O+O+O+O+O+O
  22307. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22308. +O+O+O+O+O+O+O
  22309. I1I1I1I1I1I1I1I
  22310. +O+O+
  22311. +O+O+O
  22312. +O+O+O+O+O+O
  22313. +OO+O+O+O+O+
  22314. O+O+O+O+O
  22315. O+O+O+O+O+O+O+O+O+O+O+O
  22316. +O+OO+O+O+O+O+O+O+O+O+O
  22317. O+O+O+O+
  22318. O+O+O+O+O+O+O+O
  22319. +O+OO+O+O+O+O+O+O+O+O+O
  22320. OO+O+O
  22321. O+O+O+O+O+O+O
  22322. %UI1I1z
  22323. +O+O+O+O
  22324. O+O+O+O
  22325. O+O+O+O+O+O+O
  22326. O+O+O+O+O+O+O
  22327. O+O+O+O+O+O+O+O+z
  22328. +O+Oz
  22329. +O+O+O+O+GO
  22330. +OO+O+O+O+O+O+O+O+O+O
  22331. O+O+O+O+O+O+O+O+O+O+O
  22332. +O+O+OO+O+O+O+O+{
  22333. +O+O+O+O+O+O+O
  22334. I1I1I1I1I1I1I1I
  22335. +O+O+
  22336. +O+O+O
  22337. +OO+O+O+O+
  22338. +O+O+O+O+O+O+O+O+O
  22339. O+O+O+O+O+O+O+O+O
  22340. +O+OO+O+O+O+O+O+O+O+O+O
  22341. +O+O+O
  22342. I+O+O+O+O
  22343. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  22344. +O+O+O+O
  22345. O+O+O+O
  22346. O+O+O+O+O+O+O+O+{z
  22347. +O+O+OO+O+O+O+O+O+O+O+O+O
  22348. O+O+O+O+O+O+O+O+O+O+O
  22349. +O+O+OO+O+O+O+O+O+O+O+O+O
  22350. O+O+O+O+O+
  22351. O+O+O+O+O+O
  22352. +O+O+OO+O+O+O+O+O+O+O+O+O
  22353. O+O+O+O+O+O+O+O+O+O+O
  22354. +O+O+OO
  22355. OO+O+O+O+O+O+O+O+P*P+O+O+O+O+O+O+O+O+O+O+O+O+
  22356. O+O+O+OO+O+O+O+O+O+O+O+P*P+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+OO+O+O+O+O+O+O+O+P*P+O+O+O+O+O+O+O+O+O+O+O+O+
  22357. O+O+O+OO+O+O+O+O+O+O+O+P*P
  22358. +O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+OO+O+O+O+O+
  22359. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O,N,O
  22360. OO+O+O+O+O+O+O
  22361. +O+O+O+O+O+O+OO+O+O+O{
  22362. OO+O+
  22363. O+O+O+O
  22364. O+O+O+O+O+O+O+O{
  22365. +O+Oz
  22366. O+O+{N
  22367. O+O+O+O+O+O+O+O
  22368. I+O+O+O+O
  22369. +O+O+O+O+O+O+
  22370. +O+O+O+O+{O+O+O
  22371. +O+O+O+O+OG+O+{O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22372. O+O+O+O+O+O+O+O+O+O
  22373. O+O+O+O+O+O+O
  22374. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  22375. %U%U%U%U%
  22376. +O+O+O+O+O+O+O+O
  22377. %U%U%UI1I1I1I1I1I1I1I1I1I
  22378. +O+O+O+O+O+O
  22379. getchunkB
  22380. getcomment
  22381. getcontrolinput
  22382. getcrossreferenceite
  22383. getcustomattributes
  22384. getdata
  22385. getdatapresent
  22386. getdate
  22387. getdefaultfolder
  22388. getdesktopitemcount
  22389. getdesktoplistview
  22390. getdesktoptextbackgr
  22391. getdesktoptextforegr
  22392. getdesktopwindow
  22393. getdiskfreespaceex
  22394. getdrive
  22395. getdrivename
  22396. getenvS
  22397. getexplorer
  22398. getfileassociation
  22399. getfilternames
  22400. getfolder
  22401. getfolderfromid
  22402. getfolderfrompath
  22403. getfoldersfromfolder
  22404. getfoldersfromnamesp
  22405. getfont
  22406. getformat
  22407. getglobaladdresslist
  22408. getglyph
  22409. getguid
  22410. getgvalue
  22411. getminutes
  22412. getmonth
  22413. getnamespace
  22414. getnewmailtype
  22415. getnumwidgets
  22416. getobject
  22417. getparameter
  22418. getparameternames
  22419. getplayer
  22420. getpositionx
  22421. getprocaddress
  22422. getpropertyvalue
  22423. getrvalue
  22424. renderedQ
  22425. renderer
  22426. renderingP
  22427. renderman
  22428. rendersv
  22429. epartitioning
  22430. repayE
  22431. repeatI
  22432. repeatable
  22433. repeatedl
  22434. repeatedlyB
  22435. repeatingI
  22436. repeats
  22437. repel
  22438. repercussionsQ
  22439. repetition
  22440. repetitiveF
  22441. replaceE
  22442. When you build web applications or dynamic websites, you soon realise, as with any programming, how important thorough testing is. You can do this manually, clicking through the pages and fixing snags as they arise, but with the best will in the world one soon gets lazy and it becomes all too easy to forget to test a particular scenario.
  22443. **For example, your site may work well for new visitors, but does it still work the way it should if they've previously registered, have a cookie placed 
  22444. on their machine and visit again? Perhaps your test machine contains cookies from previous tests: did you remember to clear them out each time? 
  22445. **If a bug is found, the tests should be run again from the start, but how many of us just assume (hope?) that the fix won't have knock-on effects and continue where we left off? The time pressure of web development is such that testing time can get squeezed, so anything that helps is welcome. There are many testing products out there, but they'r
  22446. e often price-targeted at large development houses and many need their own programmers to sort out the scripts.
  22447. **It was with this in mind that there was some interest when a copy of QA Wizard (<a href="http://www.seapine.com/qawizard.html" target="_blank">www.seapine.com/qawizard.html</a>) was sent to Mark. This product enables you to record your movements through a website and write them into a script, which you can then edit and customise, for example, to change the variables typed int
  22448. o a web form page. Instead of being fixed in the script, these variables can easily be fed from a database, further extending the product's flexibility. QA Wizard scores over many of its competitors because script editing is done via an easy-to-follow user interface rather than at code level. Once your script is recorded and customised, you may run it at any time to test the site. 
  22449. **Scripts can take a while to run so it's a good idea to build them up to test a specific area of the site a
  22450. nd then have a master script call the smaller ones. This is easier to debug and the smaller scripts may be used on their own during development, then the master script run overnight for a thorough test. Once the required number of iterations of a script has run, an HTML page is generated showing the results and any pages that failed. From this page, you can log any errors into another product called Log Server, which assigns bugs to a particular person to fix and follows their progress. 
  22451. **It still takes time to initially set up QA Wizard so that a thorough testing regime is generated, but the ease with which tests can be run makes it well worth the effort. 
  22452. **Programs like this are handy when you have to revisit a website because a client wants functionality added. You can then easily retest the site using the previous scripts to make sure your modifications haven't broken anything. At 
  22453. 2,000 plus VAT, QA Wizard is hardly cheap, but it's less than half the price of its c
  22454. ompetitors. You could still argue that this is a lot of money for what, on first inspection, appears to be not much more than a macro recorder. However, QA Wizard is much more than a simple macro recorder thanks to the flexibility it offers when customising the built script. The program's cost would be recovered by the time saved doing full tests, and if you can't afford a program like this perhaps you should be asking yourself how long you spend on testing and what that's costing you. If 
  22455. the sums still don't add up, maybe you should be testing more.
  22456. **The final blog
  22457. *This month, I reach the end, for now at least, of my series on creating your own Weblog, or blog. Those of you who've enjoyed it so far (thanks for the many emails) will be pleased that you can start putting it all together. The two people who hated it (again, thanks for the emails!) can look forward to 'normal service resumed' next month. Last month in issue 101, we got some data into the blog database, and 
  22458. this month we'll fetch it back out again as we're going to create the front-end user interface.
  22459. **Let's start by thinking about how to display it. A typical blog might have, on average, one entry per day - sometimes more, other times less. You'll probably average around 30 entries per month, and that's a sensible number to view at one time, so we can build an 'archive' view that presents the blog entries on a month-by-month basis - click on April 2003, for example, and you'll see all of t
  22460. he diatribes for that month. This isn't suitable, however, as the main front-end view that people see when they first hit the blog: they could arrive on the 1st of a month and find it empty or the 31st and find it full. A better option for the front page is to display the latest X entries, where my preferred value for X would be around ten, but you'll probably have your own preference.
  22461. **As before, I'm only going to show you some skeleton code, which you'll have to piece together and add 
  22462. features yourself, as well as getting out your coloured pencils to make the whole thing look pretty. Let's start by pulling the latest ten entries out of the database and displaying them in a table. 
  22463. **</b>As always, first make a connection to the database:<P></b>strconn="PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" <P></b>strconn=strconn &"c:\webdata\xyz\blog.mdb"&";" <P></b>set connBlog=server.createobject("adodb.connection")<P></b>connBlog.open strconn
  22464. *<P>You'll need to change that 
  22465. path in the second line to point to where you have your database stored. As with the other examples to date, we'll be 'talking' to the database using SQL statements. You probably think that pulling data out of the database will be simple, but in a moment I'll be showing you some of the hairiest and ugliest SQL statements that I've used so far in this series. So, to grab the ten latest entries, you might try something like this:
  22466. *</b>strSql = "select top 10 * from tblBlogs order by dtDateTi
  22467. me desc"
  22468. *<P>This takes the blog table, sorts it using the date and time field, and returns the data in descending order (most recent entries first). The 'top 10' part then simply lops off the first ten entries and discards the rest. You can easily pull that hard-coded ten out and replace it with a variable parameter. To actually use that SQL to extract the data, wrap it up in code as follows:
  22469. *</b>set rs=connBlog.execute(strSql)
  22470. *<P>This returns a recordset containing the ten records (or 
  22471. between zero and ten records, as it can't obviously contain more data than exists in the database). To turn the data from this recordset into an HTML table, you need code that looks something like this:
  22472. *</b>response.write "<table border=1>"<P></b>do while not rs.eof<P></b>response.write "<tr><td>" & rs.fields("ptrposter") & "</td>"<P></b> response.write "<td>" & rs.fields("dtdatetime") & "</td>"<P></b>response.write "<td>" & rs.fields("ptrcategory") & "</td></tr
  22473. *<P></b>response.write "<tr><td colspan=3>" & rs.fields("chrblogentry") & "<hr></td></tr>"
  22474. *<P></b>rs.movenext
  22475. *<P></b>loop<P></b>response.write "</table>"<P></b>Then finally, because we always like to be kind to our servers, we clean up after ourselves: <P></b>set rs = nothing<P></b>connblog.close<P></b>set connblog = nothing<P>
  22476. *In theory, you shouldn't have to do that last step, but I've seen web servers fall over regularly until the code was revised to close anythi
  22477. ng left open and discard any objects that had been created.
  22478. **There's just one problem with the code just shown; namely, that the Poster and Category values will be shown as numbers rather than the real data, because all that you've pulled from the database are the pointers into the poster and category tables. You should remember that we stored the actual names and category details in separate tables to save having to store multiple copies of repeating data in the main blog table. 
  22479. **The
  22480. re are two ways to get the correct data from the database. You could write a function that, given a poster value of x, did a lookup into the poster table and returned the correct name, but the problem with this is that it would impose two extra database lookups for each blog entry. For this sample app, that probably doesn't matter, but it would slow things down in a huge e-commerce engine. A better option is to make the database work for you by modifying the original SQL statement to read 
  22481. as follows (note that this is all one long line):
  22482. **strSql = "SELECT tblBlogs.*, tblCategories.chrCategory, tblPosters.chrPoster FROM tblPosters INNER JOIN (tblCategories INNER JOIN tblBlogs ON tblCategories.idCategory = tblBlogs.ptrCategory) ON tblPosters.idPoster = tblBlogs.ptrPoster"
  22483. **I told you that you'd be seeing some hairy SQL this month, but if you walk through this statement you should be able to work out what's going on. It returns all of the fields from tblBlogs, just like be
  22484. fore, plus the name fields from the other two tables. Then it creates 'joins' between these two extra tables and the main blog table, where the 'on' clauses show how to glue the tables together. 
  22485. **</b>Of course, if you get stuck with your SQL syntax, you can always consult the world's best help file - www.google.com 
  22486. **One thing you need to be aware of - seeing as we're using an Access/Jet database - is that Access can be fussy about multiple joins. Things you might get away with in a g
  22487. rown-up database like SQL Server can generate several kinds of (often incorrect) error messages when used against Access. However, there's an easy way to cheat. Simply fire up a copy of Access and create your query using the Design view. Then select SQL view and you should see a nice Access-compatible SQL statement that you can copy and paste into your code. 
  22488. **Using this statement, we now have the name fields available, so you can change the display code to use the new data:
  22489. *<P></b>resp
  22490. onse.write "<tr><td>" & rs.fields("chrPoster") & "</td>"<P></b>response.write "<td>" & rs.fields("dtdatetime") & "</td>"<P></b>response.write "<td>" & rs.fields("pchrCategory") & "</td></tr>"
  22491. *<P></b>response.write "<tr><td colspan=3>" & rs.fields("chrblogentry") & "<hr></td></tr>"<P>
  22492. *That's it for the default Blog view. The other thing you'll need is the Archive view - the mechanism to view everything beyond these top ten entries. I said earlier tha
  22493. t a Month view might be nice, and to make it visitor-friendly would be for its navigation to be presented as a list of the available months with the number of entries for each; for example, a series of links like:
  22494. *<P></b>Nov '02 [20] | Dec '02 [25] | Jan '03 [10] | Feb '03 [27] | Apr '03 [5]
  22495. *<P>How do you generate this list containing only the months that have entries and their count? This SQL does the trick (note this is all one line):
  22496. **strsql = "SELECT month(dtdatetime) as m, year(dt
  22497. datetime) as y, COUNT(*) as c FROM tblblogs GROUP BY month(dtdatetime),year(dtdatetime) ORDER BY year(dtdatetime), month(dtdatetime)"
  22498. **There are a few things to note about this SQL statement. First, it's very Access-specific, as I'm using the embedded VB functions to extract the month and year from the dtDateTime field. If you upsize this to a big boy's database, you'll need to substitute alternative functions. Second, note that I've named the select fields using 'as', because they're al
  22499. l returned values from functions. Without naming them like this it would be hard to locate the correct data in the returned recordset. Third, I've introduced a GROUP BY clause that tells the database to bundle up everything for each combination of month and year. Fourth, there's the ORDER BY. Note that this time I'm using year first, then month, as otherwise you'd get Jan 2002, Jan 2003, Feb 2002, Feb 2003 and so on. This only works because the month() function returns the month number (1 
  22500. to 12) rather than its name, which allows you to sort on it - a function that returned the month name when sorted would give you April, August, December.
  22501. **You can use the data (m, y, and c) returned to build your navigation links, and then link these through to pages displaying the entries for the individual months. By now, you should be able to work out the SQL for doing this yourself. And that's it - you now have all of the code you need to build a very basic blog system. Please let me
  22502.  know how you get on. In a few months' time, I'll show you a few enhancements, such as how to add entries by emailing to your site, and how to upload photos and other images.
  22503. **Online for Christmas
  22504. *Post-Christmas and January sales is as good a time as any for Mark to reflect on the performance of online shopping versus its more conventional competitor the high street. The media were full of doom and gloom about poor retail performance in the high street, with 6 per cent or less growth be
  22505. ing bandied about and everything from bad weather to the events of 11 September being blamed. However, it seems that online traders were having a much better time of it, with growth rates of up to 125 per cent being reported. After all the hype of the dotcom boom and bust, those online traders who are still here seem to be meeting some success, particularly the specialist retailers. 
  22506. **These sites aren't on the scale of Amazon or Tesco, and often use off-the-shelf server products like Act
  22507. inic to build their e-commerce websites. They usually supply products that you'll not find easily in the high street, and it seems that more and more people are turning to the Internet to buy such items. Actinic, a UK developer of one of these off-the-shelf e-commerce packages, states in a press release that its customers are reporting an average increase of 66 per cent in sales, selling stuff as diverse as snow sports equipment (<a href="http://www.snowlines.co.uk" target="_blank">www.sno
  22508. wlines.co.uk</a>), left-handed gizmos (<a href="http://www.anythingleft-handed.co.uk" target="_blank">www.anythingleft-handed.co.uk</a>), food hampers (<a href="http://www.botham.co.uk" target="_blank">www.botham.co.uk</a>) and ladies lingerie (<a href="http://www.amplebosom.com" target="_blank">www.amplebosom.com</a>).
  22509. **According to The Independent, 'British shoppers spent 
  22510. 1bn online in just one month in November... The 
  22511. 1bn spent in November is a 95 per cent increase on the same month
  22512.  in 2001... The rate of increase for Internet retailing is 15 times as fast as high-street shopping... High-street shops are putting a brave face on a November growth figure of just 2 per cent, the lowest for two years.' This is good news for all of us involved in the business. Online experiences are improving all the time with such excellent sites as Virgin Wines (<a href="http://www.virginwines.co.uk" target="_blank">www.virginwines.co.uk</a>), while many of the high-street retailers see
  22513. m to be falling back on 'pile 'em high, sell 'em cheap'. Take a look at the record and DVD stores, for example, which instead of offering more services or advice seem to be concentrating on competing with the online stores with large stocks. 
  22514. **The bookshops have fought back by adding coffee shops and reading areas, and suggested reading labels. There's no way a high-street store's product range can compete with a global warehouse offering online sales through a comprehensive search engin
  22515. e. People will now often pay slightly more for the convenience of online shopping, but go into a high-street music store to try and find something different to listen to, or get help. 
  22516. **Visit a website like Virgin Wines and order some wines, then the next time you log in you can rate the wines you've bought and mark specific ones so you don't forget them. This builds up into a list of your favourite wines, and the system can recommend others you may like, while the company is getting pri
  22517. celess feedback on its products. Mark can't think of any major retail chain that takes this much interest in its customers. 
  22518. **Playing to the strengths of each medium is what will result in success, but the game of 'catch-me-up' rarely will. Therefore, it's good to see the online shops doing this and all those earlier attempts to mimic the high-street store with virtual 3D stores being consigned to the bin... for the time being.
  22519. HXPerfectionist Mark Newton insists on thoroughness, while Paul Ockenden finally blogs offL
  22520. April 2003X
  22521. 102 (April 2003)i
  22522. Web Business
  22523. Jon HoneyballD
  22524. Microsoft grows up?
  22525. becomingA
  22526. becubed
  22527. bedding
  22528. bedding-in
  22529. bedepot
  22530. bedevil
  22531. bedfellows
  22532. +O+O+O+O+O+O+O+O+O+O+O
  22533. O+O+O+O+O+O+O+O+O
  22534. O+O+O+O+O+O
  22535. +O+O+OO+
  22536. O+O+O+O+O+O+O
  22537. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  22538. O+O+O+O+O+O+O+O+O+O
  22539. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  22540. O+O+O+O+O+O+O+O+O+O
  22541. +O+O+O+OO+
  22542. O+O+O+O+O+O+O+O+O
  22543. O+O+O+O+O+O+O+O+O+O
  22544. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  22545. O+O+O+O+O+O+O+O+O+O
  22546. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  22547. O+O+O
  22548. +O+O+O+O+O+O+O
  22549. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  22550. O+O+O+O+O+O+O+O+O+O
  22551. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  22552. O+O+O+O+O+O+O+O+O+O
  22553. +O+O+O+OO+O
  22554. +O+O+O+O+O+O+O+O
  22555. O+O+O+O+O+O+O
  22556. +O+O+O
  22557. O+O+O+O
  22558. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22559. O+O+O+O+O+O+O+O+O
  22560. O+O+O+O+O+O
  22561. +O+O+OO+
  22562. O+O+O+O+O+O+O
  22563. +O+O+OO+O+O+{z
  22564. {*O,N,O+O+O+O+O+O+O+O+O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O,N,O+O+O+O+O+O+O+O+O+O+O+O+O+O+OO+O+O+O+O+O
  22565. +O+O+O+O,N,O+O+O+O+O+O+O+O+O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O,N,O+O+O+O+z
  22566. O+O+O+O
  22567. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22568. +O+O+O+O+O+O+O
  22569. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22570. O+O+O+O+O+O+O+O+O
  22571. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22572. O+O+O+O+O+O+O+O+O
  22573. O+O+O+O+
  22574. P+O+O
  22575. O+O+O+O+O
  22576. O+O+O+O+O+O+O+O
  22577. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22578. O+O+O+O+O+O+O+O
  22579. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22580. O+O+O+O+O+O+O+
  22581. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22582. O+O+O+O+O+O+O+O
  22583. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22584. O+O+O+O+O+O+O+O
  22585. O+O+O+O+O+O+O+O+O+O+O
  22586. +O+O+O+O+O
  22587. O+O+O+O+O+O+O+O
  22588. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22589. O+O+O+O+O+O+O+O
  22590. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22591. O+O+O+O+O+O+O+O
  22592. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22593. O+O+O+$
  22594. O+O+O+O
  22595. O+O+O+O+O+
  22596. +O+O+OO+O+O+O+O+O+O+O
  22597. +O+O+O+O
  22598. O+O+O+O+O+O+O
  22599. O+O+O+O+O+O+O+O+O
  22600. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22601. O+O+O+O+O+O+O+O+O
  22602. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22603. O+O+O+O+O+
  22604. O+O+O+O
  22605. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22606. O+O+O+O+O+O+O+O+O
  22607. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22608. O+O+O+O+O+O+O+O+O
  22609. O+O+O+O+O+O+O+O
  22610. +O+O+O+O+O+O+O
  22611. O+O+O+O+O+O+O+O+O
  22612. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22613. O+O+O+O+O+O+O+O+O
  22614. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22615. O+O+O+O+O+O
  22616. +O+O+O
  22617. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22618. O+O+O+O
  22619. O+O+O+O
  22620. O+O+O+O+O+O
  22621. O+O+O+O+O+O+O+O+O
  22622. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22623. O+O+O+O+O+O+O+O+O
  22624. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22625. O+O+O+O+O+O+O+O+O
  22626. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22627. O+O+O+O+O+O+O+O+O
  22628. O+O+O+O+O+O+O+O+O+O+O+O
  22629. +O+O+O
  22630. O+O+O+O+O+O+O+O+O
  22631. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22632. O+O+O+O+O+O+O+O+O
  22633. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22634. O+O+O+O+O+O+O+O+O
  22635. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22636. O+O+O+O+O+$
  22637. O+O+O+O
  22638. %U%U%U%U%U%U
  22639. +O+O+O
  22640. +O+O+
  22641. +O+O+
  22642. +O+O+OO+O+O+O+O+O+O+O{
  22643. *P+O+O+O
  22644. O+O+O
  22645. O+O+O+O+O
  22646. +O+O+O
  22647. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22648. O+O+O+O+O+O+O+O
  22649. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22650. O+O+O+O+O+O+O+O
  22651. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22652. O+O+O+O+O+O+O+O
  22653. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22654. O+O+O+O+O+O+O+O
  22655. O+O+O+O+O+O+O+O+O+O+O+O+O
  22656. +O+O+O
  22657. O+O+O+O+O+O+O+O
  22658. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22659. O+O+O+O+O+O+O+O
  22660. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22661. O+O+O+O+O+O+O+O
  22662. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22663. O+O+O+O+O+$
  22664. O+O+O+O
  22665. +O+O+O
  22666. I+O+O
  22667. +OO+O+O+O+O+O+O+O{
  22668. movesF
  22669. moveto
  22670. movetoex
  22671. movewithcells
  22672. movieE
  22673. movie's
  22674. movie-frame
  22675. movie-making
  22676. movie/actor/cast
  22677. movieclip
  22678. moviemaker
  22679. moviesE
  22680. access-pointj
  22681. access-specifico
  22682. access/collision
  22683. access/collison
  22684. access/jeto
  22685. access1
  22686. accesscodes
  22687. accessdata
  22688. accessedR
  22689. accessesO
  22690. accessing`
  22691. accessories
  22692. accessory
  22693. april
  22694. 2003g
  22695. 2003]
  22696. 2003T
  22697. 2003J
  22698. august
  22699. 2003A
  22700. It's probably snowing now, the frost is thick and deep, and you might be thinking that hibernation is a good idea. Unfortunately, I'm typing this from the sun-lounger next to the roof-top pool at a hotel in Rio de Janeiro, armed with an indecently large Bloody Mary and extra-dark sunglasses. All these distractions make it hard to summon up the will power to come up with a coherent strategy for Microsoft's product platform as it moves forward. But a number of things have come to light over 
  22701. the last month or so that demand discussion and consideration, however 'difficult' my surroundings.
  22702. **Microsoft has, in effect, laid out its roadmap almost until the end of the decade. There hasn't been a grand unveiling of a Huge Corporate Plan as yet, but bits and pieces are definitely coming out into the open. What's surprising is that Microsoft genuinely appears to have started growing up. 
  22703. **The message has finally got through that you can't keep linking arbitrary platform changes t
  22704. o middleware changes, and thus to desktop changes. In other words, the fact that Office 11 is around the corner is no excuse for tying it into XP Professional or Home on the desktop. In truth, Microsoft hasn't been as guilty of doing this in the past as some would have you believe, but there have been some howling errors on the server side. 
  22705. **Remember how you had to install IE 4 to get the NT 4 Option Pack - and thus a better release of IIS - onto your core servers? This was because Micr
  22706. osoft was unwilling at the time to supply a single security DLL away from the IE 4 installation tree. Then there was the perception that you had to get Windows 2000 Active Directory up and running before you could go to Exchange 2000, which was entirely true. Not only that, it was quite right and proper, due to the huge architectural changes that exist between NT 4 and Windows 2000 Active Directory. It wasn't realistic to expect Exchange 2000 to run on NT 4, however much some extremist cus
  22707. tomers might have wanted it to work. 
  22708. **Microsoft was, however, hugely guilty of overplaying the Active Directory card to those companies that were, at the time, happily sat on NT 4 and the old LanMan-style domain model. By tying Windows 2000 to Active Directory in all of its marketing blurb, Microsoft effectively killed any possibility of people using Windows 2000 boxes as member servers in a happily running NT 4 domain. This high-handedness has come home to roost for Microsoft, though, 
  22709. as there's still a lot of NT 4 out there and that isn't going to change in the next few months.
  22710. **Many customers with the Windows 2000 Server platform, myself included, have been waiting to see what tie-ins Microsoft would impose for the .NET 2003 Server release. Will it  be that while you can run the 2000-era server products on Windows 2000 Server, anything with a 2003 or later badge will require .NET Server 2003? This proves not to be the case. In fact, it's so dramatically not the case
  22711.  that I kept haranguing the relevant Microsoft people with the battle cry of 'where's the but?' 
  22712. **To my astonishment, there doesn't seem to be one this time. Every significant forthcoming Microsoft server-side or middleware product or platform will run on Windows 2000 Server. You don't need to upgrade your underlying servers, but there may be advantages that become available when you do. For example, there's no doubt that Titanium, or Exchange Server 2003, will run on Windows 2000 Server
  22713.  with the Windows 2000 Active Directory, but there are new things in .NET Server 2003 Active Directory of which Titanium will be able to make good use. If you don't want the .NET Active Directory improvements but lust after the gorgeous new Outlook Web Access that comes with Titanium, that's no problem - upgrade your Exchange 2000 boxes to Titanium and leave your Windows 2000 Active Directory infrastructure as it is. 
  22714. **In a move that made me blink, it seems that all of the XML-related mi
  22715. ddleware servers have been scrapped. BizTalk has gone, as have Content Management Server, Commerce Server and so on. By 'gone' I mean there are no longer any product groups working on each of these shrinkwraps. Each will be replaced by a component in the forthcoming Jupiter platform from Microsoft. If you have existing licences, these will be converted to Jupiter licences when that platform ships, but some of these Jupiter pieces are going to be on a 2005 or even 2007 release schedule, and
  22716.  all of them will, according to Dave Wascha, chief guru of that group, run on Windows 2000 Server.
  22717. **This might seem scary, but the benefits will be huge. At present, Microsoft has four incompatible workflow engines - one in BizTalk, one in Commerce Server, one in Content Server and the little baby one in Exchange 2000. By forcing all of the Microsoft product groups to use just one, it will have to be best of breed, and - assuming there are no nasty hidden API lockouts - the customer base
  22718.  will benefit too. How many of you have used the workflow designer in Exchange 2000, for example? Very few, I wager. But that's not the end of the boldness - Dave Wascha has personally guaranteed that all the interfaces necessary to host these engines will be left open. The aim is that you'll be able to use the Microsoft workflow engine inside a competitor's document management system, or use theirs inside the Microsoft offering. That's a bold claim to make. 
  22719. **Given that platform/ middle
  22720. ware tie-ins appear to be a thing of the past then, and that most of Microsoft's customers are now on rolling two-year contracts, there's a point of view which holds that Microsoft should start to issue annually badged releases rather than embroiling us in large service packs that have little meaning to most people. Can you remember whether Exchange Server 2000 SP 2 is bigger, or better than SP 1? I can't - it is no longer easy to keep on top of this stuff. 
  22721. **Herding Longhorns
  22722. *Now for c
  22723. odename Longhorn and where that fits into the picture. Basically, it's the next big release of the desktop OS and it will ship in mid/late 2004. There are early alpha releases of it on various warez groups, but all these seem to show is various aspects of the modified look and feel. This is the first real work that's been done on the Desktop's look and feel since the release of Windows 95, unless you count the 'cartoon' aspects of XP Home. Although XP offers a somewhat garish user experien
  22724. ce, it can be toned down if you like and you can't ignore the power of the new Wizards for most beginner and mid-level users of the platform. In Longhorn, we'll see more of this and a long-overdue push towards a properly implemented object Desktop. 
  22725. **However, to make this rock and roll, we need the WinFS, which is the new Windows Filing System. This is the OFS (object filing system) that's been promised for so long and never been delivered: I'm sure some of the thinking goes back to the 
  22726. Cairo OFS of ten years ago. The idea is a grand unified store into which everything you do gets poured. This isn't SQL Server per se, but it can handle SQL data. Neither is it extensible JET like Outlook PST stores and Exchange Server, but it can handle their data too. Nor is it NTFS, but it handles everything NTFS can do. Well, that's the claim. The client Longhorn product will ship with the WinFS built in, says Microsoft. 
  22727. **However, there are already clouds on the server-side horizon. 
  22728. Obviously, there's little point shipping an OFS on the client side unless there's a matching server-side OFS to go with it. I put that question to Microsoft spokespersons recently, and they said there would be some sort of monster patch file, service pack or maybe even an Option Pack for the server-side support of Longhorn. This has been caused by timing: if .NET Server 2003 isn't going to ship until mid-2003, at least in SP 1 form, there's no way Microsoft is going to persuade corporates 
  22729. to move to a new server-side platform just 12 months later. And nor should they move - that's the job for the Blackcomb server release due in late 2005 or even 2006.
  22730. **Microsoft can afford to release the client-side version of WinFS first. It can claim that you'd have to be mad to use a new filing system unless you needed to, and that any data stored on a desktop machine would be, de facto, backed up to central servers too. If Microsoft does the job properly, end users won't notice the Wi
  22731. nFS - it will just work like it has until now, only better. By going for the client side first, it can make great use of the almost unlimited untapped power available on the desktop. 
  22732. **If the new file system is 20 per cent slower than NTFS, will you notice? I bet you won't on your laptop, but you most certainly will on a corporate server hosting hundreds or thousands of users. Similarly, with disk space, if all the new content management functionality consumes double-digit percentages of
  22733.  your free disk space, will you notice on a laptop that currently has 60GB free? Of course not, but you will if you fire this up on your SAN-consolidated storage farm.
  22734. **For Blackcomb, Microsoft has a clearly defined set of targets. It has to provide the management tools and infrastructure to make WinFS utterly compelling. It has to be so good that no sysadmin would want to use the current hotch-potch of storage schemes. You might believe that corporate IT managers will be reluctant to mo
  22735. ve and, yes, they will be, but there is a huge win. 
  22736. **At present, IT managers have to worry about four disaster-recovery (DR) systems: file system; RDBMS data like SQL Server and Oracle; semi-structured streamed data like Exchange Server; and directory data in Active Directory. This means four tested, considered, planned and implemented solutions, each one a major headache. Reduce the count by one and these people will start twitching. Drop it to two and they'll sign on the dotted line. 
  22737. Go for the Nirvana of a single storage format and they'll rip your arm off as they attempt to install the software. But all of this will require management tools and reporting facilities and proper grown-up ways of 'bending the data cloud' to fit each user without ending up with a runaway collection of links and hyperlinks and hard links and tangled webs within webs. 
  22738. **So there we have it - a fairly rapid set of changes, almost all of which will build upon the Windows 2000 Active Directo
  22739. ry server platform. There is a huge amount of consolidation that will bring important technologies like workflow, commerce pipelines, content management, and object storage right to the front of the stage. I can't say it will be an easy ride, but a new maturity of thinking is emanating from Microsoft. Finally, the 'New Old Guard' of great thinkers, developers and business users who've joined Microsoft over the last ten years are making their presence felt and the era of the Microsoft Child
  22740.  who joined at 16 and lacks any social skills worth noting is all but over.
  22741. **Orange SPV
  22742. *I can't let the launch of the Orange SPV phone go past without passing comment. Contributing editor Paul Lynch and the Reviews team have had lots to say, but this is an important platform from a Windows perspective so indulge me for a few paragraphs.
  22743. **First, I think the product sucks. It's lacking in testing both of the beta and usability varieties. I don't care how many guinea pigs were used at Re
  22744. dmond to do the usability testing on the Smartphone 2002 platform - you can't spot any positive results. 
  22745. **At first glance, it looks promising with built-in PDA functions, phone capability and a big, readable screen. Then the problems arise: basic phone functionality is unstable in function and use; you can't easily tell if a phone call has terminated or not; the core OS isn't fully tested and can suffer from lockups and freezes; and while the PDA parts work quite well, the basic phone f
  22746. unctions are almost laughably naive in their execution. 
  22747. **Worse still, there are major holes in the way it handles stored data. You'd think it's a common enough scenario for someone to sync their email from a desktop into the phone via the cradle and then to 'top up' this email using IMAP or POP3 when away from the office. But you can't do that - as soon as you try to use a second type of mail connectivity, it insists you can only have one and throws away all the existing mails. I know i
  22748. t will work much better when you have Titanium's built-in mobility features available to you, but that isn't going to be an option for most people. 
  22749. **As if an unstable, untested platform wasn't bad enough, Orange has decided to require developers to digitally sign their applications in a feeble and brain-dead attempt to milk the development community of revenue for the privilege of being able to install their own applications onto their own phone. Such an own goal makes me gasp at its st
  22750. iupidity. 
  22751. **Surely, Microsoft wants and needs all the .NET development community to start writing applications that use the lightweight framework designed for these devices? Who will go down that road if they're going to be nickled and dimed by Orange in the process? The lack of common sense, both within Microsoft and Orange, makes me shudder with disbelief.
  22752. H^Jon Honeyball looks at Microsoft's roadmap and goes Orange with anger at the latest smartphoneL
  22753. March 2003X
  22754. 101 (March 2003)i
  22755. Advanced Windows
  22756. Simon JonesD
  22757. Packed off
  22758. O+O+O+O+O+O+O+O
  22759. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22760. O+O+O+O+O+O+O+O
  22761. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22762. O+O+O+O+O+O+O+O
  22763. O+O+O+O+O+O+O+O+O+O+O+O
  22764. +O+O+O+O
  22765. O+O+O+O+O+O+O+O
  22766. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22767. O+O+O+O+O+O+O+O
  22768. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22769. O+O+O+O+O+O+O+O
  22770. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22771. O+O+O+O+$
  22772. O+O+O+O
  22773. %U%U%U%U%U%U
  22774. +O+O+O+OO+
  22775. +OO+O+O+O+O+O+O+O{
  22776. *P*P+O+O
  22777. O+O+O+O+O+O+O+O
  22778. %U%UI1I1I1I1I1I1I1I1I1I
  22779. +O+O+O+O+O
  22780. O+O+O+O+O+O+O+O
  22781. %U%UI1
  22782. I1I1I1I1I1I1I1I1I
  22783. +O+O+O+O+O
  22784. O+O+O+O+O+O+O+O
  22785. %U%UI1
  22786. I1I1I1I1I1I1I1I1I
  22787. +O+O+O+O+O
  22788. O+O+O+O+O+O+O+O
  22789. %U%UI1I1I1I1I1I1I1I1I1I
  22790. +O+O+O+O+O
  22791. O+O+O+O+O+O+O+O
  22792. %U%UI1I1I1I1I1I1I1I1I1I
  22793. +O+O+O+O
  22794. O+O+O+O+O+O+O+O
  22795. %U%UI1I1I1I1I1I1I1I1I1I
  22796. +O+O+O+O+O
  22797. O+O+O+O+O+O+O+O
  22798. %U%UI1I1I1I1I1I1I1I1I1I
  22799. +O+O+O+O+O
  22800. O+O+O+O+O+O+O+O
  22801. %U%UI1I
  22802. 1I1I1I1I1I1I1I1I
  22803. +O+O+O+O+O
  22804. O+O+O+O+O+O+O+%
  22805. O+O+O+O+O+O+
  22806. O+O+O+O+
  22807. +O+O+OO
  22808. OO+O+O+O+O
  22809. O+O+O+O+O
  22810. +O+O+OO+
  22811. O+O+O
  22812. O+O+O+O+O+O+O+O+O
  22813. O+O+O+O+O+O+O+O+O+
  22814. roamingL
  22815. roaring
  22816. roast
  22817. roasted
  22818. roasting
  22819. robbed
  22820. robber
  22821. robbers
  22822. robbins
  22823. robert
  22824. robertgraham
  22825. roberts
  22826. robertson
  22827. robertson's
  22828. robinN
  22829. robin2
  22830. robins
  22831. robinson
  22832. robinson-coded
  22833. robohelp
  22834. robohelp's
  22835. robohtml
  22836. robot
  22837. robotic
  22838. robotics
  22839. robotsS
  22840. rocket-poweredw
  22841. rockingA
  22842. rocksG
  22843. rockwell
  22844. rockwell-based
  22845. rocky
  22846. rodney
  22847. rodrigues
  22848. roeder's
  22849. roger
  22850. rogueG
  22851. rogues
  22852. %UI1I1I1I1I1I1I1I1I1I
  22853. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22854. %UI1I1I1I1I1I1I1I1I1I
  22855. O+O+O+O+O+O
  22856. +O+O+O+O+O+O+O+O
  22857. %UI1I1I1I1I1I1I1I1I1I
  22858. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22859. %UI1I1I1I1I1I1I1I1I1I
  22860. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22861. %UI1I1I1I
  22862. 1I1I1I1I1I1I
  22863. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22864. O+O+O+O+O
  22865. O+O+O+O
  22866. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  22867. +O+O+O+O+O+O+OO+O
  22868. +O+O+OO+
  22869. O+O+O
  22870. O+O+O+O+O+O+O+O+O
  22871. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22872. O+O+O+O+O+O+O+O+O
  22873. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22874. O+O+O+O+O+O+O+O+O
  22875. O+O+O
  22876. +O+O+O+O+O+O+O+O+O+O+O+O
  22877. O+O+O+O+O+O+O+O+O
  22878. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22879. O+O+O+O+O+O+O+O+O
  22880. O+O+O+O+O+O+O+O+O+O+O+O
  22881. +O+O+O
  22882. O+O+O+O+O+O+O+O+O
  22883. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22884. O+O+O+O+O+O+O+O+O
  22885. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22886. O+O+O+O+O+O+O+O+O
  22887. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22888. O+O+O+O+O+$
  22889. O+O+O+O
  22890. %U%U%U%U%U%U
  22891. +O+O+O+
  22892. +O+O+OO+O+O+O+O+O+O+O
  22893. +O+O+O+O
  22894. O+O+O+O
  22895. O+O+O+O+O+O+O+O
  22896. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22897. O+O+O+O+O+O+O+O
  22898. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22899. OO+O+O+O+O
  22900. +O+O+O+O+O+O
  22901. O+O+O+O+O+O+O+O+O+O,N,O
  22902. OO+O+O+O+O+O+O
  22903. +O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O,N,O
  22904. OO+O+O+O+O+O+O
  22905. +O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O,N,O
  22906. +O+O+O+O+O+O
  22907. +O+O+O+O+O+OO+O+O+O+O+O+O+O+O
  22908. O+O+O+O+O+O+O+O+O+O+
  22909. OO+O+O+O+O
  22910. +O+O+O+O+O+OO+
  22911. +O+O+OO+O+O+O+O+O+O+O{
  22912. +O+O+O+O
  22913. O+O+O
  22914. O+O+O+O+O+O+O+O+O
  22915. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22916. O+O+O+O+O+O+O+O+O
  22917. O+O+O+O+O+O+O+O
  22918. O+O+O+O+O+O+O+O+O+O+O+O+O+O+
  22919. O+O+O+O+O+O+O+O
  22920. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22921. O+O+O+O+O+O+O
  22922. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22923. O+O+O+O+O+O+O+O
  22924. +O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22925. O+O+O+O+O+O+O+O
  22926. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22927. O+O+O+O+O+O+O+O
  22928. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22929. O+O+O+O+O+O+O+O
  22930. O+O+O+O+O+O+O+O+O+O+$
  22931. +O+OO+O+O+O+O+O+
  22932. +O+O+O+OO+O+O+O+O+O+O+O+O
  22933. +O+O+OO+O+O+O+O+O+O+O{
  22934. +O+O+O+O
  22935. O+O+O+O+O+O+O
  22936. %UI1I1I1I1I1I1I1I1I1I
  22937. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22938. %UI1I1I1I1I1I1I1I1I1I
  22939. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  22940. %UI1I1I1
  22941. I1I1I1I1I1I1I
  22942. O+O+O+O+O+O+O+O+O+O+O+O
  22943. consumingI
  22944. consummate
  22945. consumption
  22946. contactB
  22947. contact-info
  22948. contactable
  22949. contactbox
  22950. cloudsp
  22951. cloudspace
  22952. clout
  22953. clover
  22954. cloves
  22955. cloying
  22956. clr-compatible
  22957. clr-compliant
  22958. clrgeeks
  22959. clsfruit
  22960. clsid
  22961. clsws
  22962. clubautopc
  22963. clubb5
  22964. clubphoto
  22965. clubs
  22966. clubwin
  22967. clue~
  22968. co-designed
  22969. co-editors
  22970. co-exist
  22971. co-existence
  22972. co-exists
  22973. co-founderT
  22974. co-locationF
  22975. co-operate
  22976. co-operatingK
  22977. co-operative
  22978. co-ordinateX
  22979. co-ordinated
  22980. co-ordinates
  22981. co-ordination
  22982. co-ownerJ
  22983. coachJ
  22984. emanatingp
  22985. emateD
  22986. emates
  22987. embargo\
  22988. embarkN
  22989. embarked
  22990. embarking
  22991. embarrass
  22992. embarrassed
  22993. Last month in our 100th issue, I praised Microsoft for learning from past mistakes and making its service packs for Office more reliable, but it looks like I might have spoken too soon. The newly released service pack (SP 3) for Office 2000, while fixing a lot of bugs and introducing one or two welcome new features, can also cause Outlook 2000 to consume 100 per cent of your CPU time, effectively crippling your PC.
  22994. **The previous service pack for Office 2000, SP 2, included the dreaded Ou
  22995. tlook Security Update and gave you no way to tone down or turn off its effects. Outlook would hide attachments it thought were unsafe; it would question you if any other process tried to look at your address book; and it would make you wait five seconds and press a button if another process tried to send email (even when you were trying to do a 1,000-item mail-merge from Word). 
  22996. **While Exchange administrators were given tools to control all these settings and Outlook 2002 users could con
  22997. trol what attachments were considered unsafe, Outlook 2000 users who didn't use Exchange Server for their mail were left high and dry. They got all the 'security' and none of the control. When Office 2000 SP 2 was released, I published details of how to break the service pack apart, remove the patches for Outlook and apply the rest of them, which got the bugs fixed in the other Office applications but left Outlook 'unsecured' and with over 70 bugs still resident.
  22998. **With the release of Off
  22999. ice 2000 SP 3, Microsoft has finally given Outlook 2000 users the same control over the list of 'unsafe' attachments, but there's still no control over the address book guard or the send mail guard unless you're using Exchange Server. Office 2000 users were rejoicing nonetheless - at last they could get the bugs fixed in Outlook without completely crippling it. Joy quickly turned to frustration for many users, as they found that after applying SP 3 their computers would grind almost to a h
  23000. alt. Outlook would - under various circumstances - completely take over their CPU, leaving no clock cycles free to service any other processes. 
  23001. **Outlook newsgroups and the MVPs (Most Valued Professionals) that answer users' questions were inundated with messages asking why their computer had seized up after installing the patch. I have it from two reliable sources that the slowdown was noticed during alpha testing of the patch, that the source of the problem was identified and correctiv
  23002. e action taken, but somehow that fix didn't make it into the final release of the patch. Someone at Microsoft must have screwed up in final testing in the version control/bug-tracking department. 
  23003. **The latest information is that the bug only seems to affect users in Internet Mail Only (IMO) mode, so users with Exchange Server won't be affected, as they have to run in Corporate/ Workgroup (C/W) mode. IMO mode users can switch to C/W mode if they're affected by this bug, though they'll not
  23004. ice some change in features and functionality. 
  23005. **Slipstick Systems has a good explanation of the modes in Outlook 98 and 2000 and how to change them on its website at www.slipstick.com/ outlook/choosing mode.htm. If you do change from IMO to C/W mode, you'll lose support for IMAP accounts, WinFax SE and the ever so useful 'Send Using...' command. 
  23006. **However it happened and whoever's at fault, it appears that the only wholly reliable way to stop Outlook slowing your machine to a crawl - 
  23007. without changing mode - is to uninstall Office and reinstall it applying only SR-1a. If you apply SP 2, Outlook gets that security update with no control, while if you apply SP 3 you get control of the security update but your PC may slow to the speed of treacle in winter - what a choice.
  23008. **Microsoft took ages to say anything officially about this bug, but, as I write, it has just admitted to the problem and says that it's developing a fix. Knowledge Base article http://support.microsoft.
  23009. com/ ?kbid=811167 should point to the fix when it becomes available. Note that if you changed mode to C/W to work around the bug, you should change back to IMO before applying this fix. Remember, we're talking only about Office 2000 and Outlook 2000 here and not any previous (Office 95 and 97, Outlook 97 and 98) or later (Office XP, Outlook 2002) versions. They have their own problems and patches. 
  23010. **Resources
  23011. *If you're happy to take the risk, you can find an overview of SP 3 for Office 
  23012. 2000 at http://support.microsoft.com/ default.aspx?scid=326585. This Knowledge Base article gives details of how to get the patch or the administrative update and links to details of what has been fixed in the various Office applications. [Note that Microsoft Knowledge Base articles no longer need a Q before the number. This gives shorter URLs and browsers are supposed to automatically select the correct language for you.]
  23013. **If you're a single user, without an IT department, the easiest w
  23014. ay to get Office 2000 SP 3 is from the Office Product Updates website at http://office.microsoft.com /ProductUpdates/mainCatalog.aspx. This website will detect which version and revision of Office you're running and suggest all the patches you need to get up to date. If you have an IT department supporting you, you should contact it and ask if/when/how it's going to roll out this patch. If you are the IT department, you should download the administrative version of the patch and use it to 
  23015. update your administrative installation point for Office.
  23016. **I suggest you try SP 3 on a couple of machines to see if they're affected by the slowdown bug before you roll it out to whole departments. Once you've installed Office 2000 SP 3, you can get Ken Slovak's Attachment Options Add-In to control which file types are eaten by Outlook and which you can receive from www. slovaktech.com/ attachmentoptions. htm. This also works with Outlook 2002 (Office XP). It won't override any security 
  23017. settings set by an Exchange Administrator. If you use Exchange Server and want to get round these file attachment restrictions, you should go and see your Exchange Administrator (Hint: take some cake).
  23018. **Delays, delays
  23019. *Microsoft has delayed the launch of Windows .NET Server 2003 again - it now won't ship until April 2003 at the earliest. This has had an unfortunate knock-on effect for application developers, as it means that Visual Studio .NET 2003, which had the codename Everett, has al
  23020. so been delayed. VS .NET Everett went to final beta in November 2002 and the non-disclosure agreements were rescinded in the middle of November - beta testers are now allowed to talk about the product, and people with Universal MSDN subscriptions should receive the final beta in their next shipment. You still won't be able to buy the product or release applications you've developed with it until April though, as Microsoft's Beta Code licence specifically forbids you from deploying applicat
  23021. ions developed with beta versions of its development tools.
  23022. **These delays are frustrating for all .NET application developers. Like many other developers, I've been planning and building applications using VS .NET 2003, but release of these applications is now on hold while all the options are considered. We could back-track the applications into the original VS .NET - not always an easy task - or redevelop small applications from scratch in VS .NET or even VB 6. Smaller companies may ha
  23023. ve been relying on the cash-flow generated by releasing new applications, and their plans and finances will have to be revised now there's another three-month delay in VS .NET 2003. 
  23024. **A welcome exception is that applications that target mobile devices such as Pocket PCs, Smartphones and so on are exempt from the delay. These run on the .NET Compact Framework and Microsoft has announced that there will be an early release of the .NET Compact Framework and that developers will be allowed t
  23025. o deploy applications built using VS .NET 2003 on those platforms. Details of this Go Live licence should be soon available at http://msdn.microsoft.com/ vstudio/device/, but aren't yet as I write this. The main condition in the Go Live licence appears to be an agreement that you will update your application to use/include the final version of the .NET Compact Framework within 60 days of it finally being released. This move is a little curious and suggests that Microsoft is: 
  23026. **a) confide
  23027. nt that there are very few problems with VS .NET 2003 applications running on the .NET Compact Framework.
  23028. **</b>b) pretty sure there will not be many users of these applications developed on beta platforms.
  23029. **c) worried that if it doesn't let developers release apps they've been developing for six months or more, they'll get disillusioned with the Pocket PC platform and switch over to Palm. 
  23030. **Any or all of these beliefs could be true. What is far less clear is why delaying Windows .NET
  23031.  Server 2003 has to mean a delay to VS .NET 2003 and the .NET Framework 1.1. Certainly, the .NET Server is 'fully integrated' with the .NET Framework 1.1, but the functionality in .NET Framework 1.1 appears to be now settled and .NET Server 2003 is at RC2 (Release Candidate 2). To my mind, Microsoft could release .NET Framework 1.1 and VS .NET 2003 to manufacturing, and any minor tweaks to the .NET Framework 1.1 needed for the release of .NET Server 2003 could be dealt with by service patc
  23032. **I've thoroughly enjoyed beta testing VS .NET 2003. It's been remarkably stable for a beta product and the extra functionality compared with the original VS .NET has been very welcome, even though I've not yet used all of it. The user interface is slicker, with many helpful features. Intellisense has been improved with better statement and construct completion. For instance, if you type an Implements statement to declare that a particular class you're writing will implement a define
  23033. d interface, VS .NET will automatically write for you all the procedure headers you need to implement that interface, so you just have to fill in the procedure bodies. The Server Explorer, which gives the developer access to any SQL Server databases, has been improved. Virtually all the developer-oriented features of SQL Server Enterprise Manager are now implemented in the VS .NET IDE (Integrated Development Environment), so you no longer have to switch back and forth between a programming
  23034.  tool and a database development/maintenance tool. There's also much better support for Oracle- and ODBC-compliant databases.
  23035. **Developing applications for PDAs and smartphones is much easier in VS .NET 2003. Support for 'Smart Device' projects is built-in, including device emulators and methods of deploying apps to the remote device for testing and for building installation kits for end-user deployment. C++ programmers finally get a forms painter for Windows Forms applications and Java p
  23036. rogrammers will probably like the inclusion of the Visual J# language. Upgrades from VS .NET to VS .NET 2003 will be available for $29 (
  23037. 18), with pricing in the UK yet to be fixed. If you have a Universal MSDN subscription, you should get the Final Beta and then the release version as part of your subscription.
  23038. **Holidays in Outlook
  23039. *If you run one of the 97, 98 or 2000 versions of Outlook, you may have found that you don't have any public holiday dates for 2003 and beyond. Governments o
  23040. nly confirm holiday dates for a limited number of years ahead, even though most people know the usual dates or recurrence pattern of most holidays. Microsoft ships a text file called outlook.txt or outlook.hol with each version of Outlook, which includes the holiday data for many countries for approximately three years from the release date of the application. When you import these holidays, they each become an individual appointment item rather than recurring appointments. 
  23041. **Microsoft b
  23042. eing Microsoft, of course, it managed to get a few of the dates wrong in each file. If you're in charge of a corporate roll-out of Outlook, you can edit the holiday file before it's deployed to remove any data that is unwanted, correct any dates you know are wrong or even insert new dates of your own.
  23043. **Any user can add recurring appointments directly to Outlook, for Christmas, New Year, May Day (First Monday in May), Late Spring Bank Holiday (Last Monday in May), Late Summer Bank Holiday
  23044.  (Last Monday in August) and so on, which will run forever or until you set an end date. If you've not been able to find the 'Add Holidays' feature before, it's under Tools | Options... | Preferences (tab) | Calendar (group) | Calendar Options... (button) | Calendar Options (group) | Add Holidays... (button). As you can see, it's easy to find and I hope you feel suitably abashed...
  23045. **Of course, if the government changes its mind about the dates of these bank holidays at any time, you'll h
  23046. ave to change the recurring appointments in Outlook by setting an end date for the old recurrence pattern and creating a new appointment with the new recurrence pattern. In the UK, the only yearly holidays that move are Good Friday, Easter Day and Easter Monday. For your information, Good Friday occurs on 18 April 2003, 9 April 2004, 25 March 2005, and 14 April 2006. Easter Day and Easter Monday are, of course, two and three days later respectively. For other holiday dates in other countri\les, you can download a new list from the Slipstick Systems website: www.slipstick.com/calendar/ holidays.htm
  23047. HeSimon Jones is reduced to slow-motion with SP 3 for Office 2000, but enjoys beta testing VS .NET 2003L
  23048. March 2003X
  23049. 101 (March 2003)i
  23050. Applications
  23051. Jon honeyball and David mossD
  23052. Storage san-ity
  23053. issued_
  23054. issuesA
  23055. +O+O+O+O
  23056. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23057. O+O+O+O+O+O+O+O+O
  23058. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23059. O+O+O+O+O+O+O+O+O
  23060. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23061. O+O+O+O+O+$
  23062. ,O+O+OO+O+O+O+O+O+O+O+O+O+O+O+O+O
  23063. +O+O+OO+O+O+O+O+O+O+O+O+O
  23064. O+O+O+O+O+O
  23065. +O+O+O+O
  23066. O+O+O+O+O+O+O
  23067. %UI1I1I1I1
  23068. O+O+O+O+O
  23069. *+O+OO+O+O+O+O+O+O+O+O+O
  23070. I+O+O+O+O+O+O
  23071. +OH+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  23072. I+O+O+O+O+O+O
  23073. +O+O+O+O+O+O+OO+O+O+O
  23074. O+O+O+O+O+O+O+O+O+O
  23075. +O+O+OO+O+O+O
  23076. +O+O+O+O+O
  23077. %U%U%U%U%U%U%UI1I1I2H2I1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I
  23078. O+O+O+O+O+O+O+O
  23079. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  23080. %U%U%U%U%U%U%UI1I1I2H2I
  23081. 1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I
  23082. O+O+O+O+O
  23083. O+O+O+O+O+O+O+O
  23084. O+O+O+O+O+O+O+O+O
  23085. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23086. O+O+O+z
  23087. +O+O+OO+
  23088. O+O+O+O+O+O+O
  23089. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  23090. O+O+O+z
  23091. +O+O+OO+O+O+O+O+O+{
  23092. +O+O+O+OO+O+O+O+O+O+O+O+P*P
  23093. OO+O+O+O+O+O+O+O
  23094. +O+OE+O+O+O+O+OO+O+O+O+O+O+O+O+P*P
  23095. OO+O+O+O+O+O+O+O
  23096. +O+O+O+O+O+O+OO+O+O+O+O
  23097. +O+O+
  23098. O+O+O+O+O+O+O
  23099. O+O+O+O+O+O+O+O+O+O+O
  23100. +O+O+OO+O+O+O+O+O+O+O+O+O
  23101. O+O+O+O+O+O+O+O+O+O+O
  23102. +O+O+OO+O+O+O+O+O
  23103. O+O+O+O+O+O+O+O
  23104. %UI1I1I1I1I1I1I1I1I1I
  23105. O+O+O+O+O
  23106. +O+O+OO+
  23107. O+O+O+O
  23108. O+O+O+O+O+O+O+O{
  23109. *+O+O
  23110. Oz+O+O+O+O+O
  23111. +O+O+O+O+O+O+O+O
  23112. O+O+O+O+O+O+O+OG+O
  23113. %OO+O+O+O+O+O+O
  23114. +O+O+O+O+O+O+O+O
  23115. O+O+O+O+O+O+O+O+O
  23116. %OO+O+O+O+O+O+O
  23117. +O+O+OO+O+O+O+O+O+O+O+O+O
  23118. %U%U%U%U%U%U%
  23119. UI1I1I1I2H2I1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I
  23120. O+O+O+O+O+O+O+O
  23121. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  23122. %U%U%U%U%U%U%UI1I1I1I2H2I1I1I1I1I1I1I1I1I1$
  23123. O+O+O+P*P+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23124. O+O+O+O+O+O+O+O+O
  23125. O+O+O+O+O+O
  23126. +O+O+OO+
  23127. O+O+O+O+O+O+O
  23128. %UI1I1I1
  23129. O+O+O+z
  23130. O+O+O+O+O+O+O+O+O
  23131. O+O+O+O+O+O+O+O+OG+O+O+O+O+O+O
  23132. O+O+O+O+O+O+O+O+O
  23133. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23134. O+O+O+z
  23135. OO+O+O
  23136. O+O+O+O+O
  23137. all'sV
  23138. all-100
  23139. all-100-mbit
  23140. all-100mbit
  23141. all-action
  23142. all-dancingH
  23143. all-digital
  23144. all-encompassingH
  23145. all-importantZ
  23146. all-in
  23147. all-in-all
  23148. all-in-oneP
  23149. all-in-wonder
  23150. all-java
  23151. singingH
  23152. all-solid-state
  23153. all-speed
  23154. all-the-time
  23155. all-through
  23156. all-time
  23157. all-xmlg
  23158. all-year-round
  23159. allaire
  23160. allaire's
  23161. allay
  23162. allchin
  23163. allchin's
  23164. allegation
  23165. allegations
  23166. alleged
  23167. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23168. O+O+O+O+O+O+O+O+O
  23169. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23170. O+O+O+O+O+O+O<+O+O
  23171. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23172. O+O+$%
  23173. +O+O+OO+
  23174. O+O+O+O+O+O+O
  23175. +O+O+OO+z
  23176. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23177. O+O+O+O+O+OG+O+O
  23178. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23179. O+O+O+O+O+O+O+O
  23180. O+O+O+O+O+O
  23181. +O+O+O+O+O+O+O
  23182. +O+O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+P*P+O+O+O+O+O+O+O+O+O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+P*P+O+O+O+O+O+O+O+O+O+O+O+O+O++O+OO+O+O+O+O+O+O+O+O+P*P+O+O+O+O+O+O+O+O+$
  23183. +O+O+O+O
  23184. O+O+O+O
  23185. O+O+O+O+O+O+O+O{
  23186. O+O+z
  23187. +O+O{*
  23188. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23189. O+O+O+O+O+OG+O+O
  23190. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23191. O+O+O+O+O+O+O+O
  23192. O+O+O+O+O+O
  23193. +O+O+
  23194. +O+O+OO+O+O+O+O+O+O+O+O+O
  23195. O+O+O+O+O+O+O+O+O+O+O
  23196. +O+O+OO+O+O+
  23197. O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  23198. %U%U%U%U%U%U%UI
  23199. 1I1I2H2I1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I
  23200. O+O+O+O+O+O+O+O
  23201. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  23202. %U%U%U%U%U%U%UI1I1I2H2I1I1I1I1I1I1I1I1I1I
  23203. O+O+O+O+O+O+O
  23204. O+O+O+O+z
  23205. O+O+Oz
  23206. {+O+O+O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  23207. +O+O+OG
  23208. I+O+O+O+O
  23209. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  23210. +O+O+O
  23211. I+O+O+O+O
  23212. +O+O+O+Oz
  23213. +O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  23214. O+O+O+O+O+O+O+O
  23215. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  23216. O+O+O+O+O+O+O+O
  23217. +O+O+O+O+O+OO+O+O+O+O
  23218. +O+O+O+O+O
  23219. O+O+O+O+O+O+O+O
  23220. +O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  23221. O+O+O+O+O+O+O+O
  23222. +O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  23223. O+O+O+O+O+O+
  23224. O+O+O+O+O+O+O
  23225. +O+O+O+Oz
  23226. N+O+O+O+O,N,O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+GO+O
  23227. O+O+O+O+O+O+O+O
  23228. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23229. O+O+O+O+O+O+O+O{
  23230. +O+O+
  23231. +O+O+O+O+O+O
  23232. O+O+O+O+O+O+O+O+O
  23233. O+O+O
  23234. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  23235. O+O+O+O+O+O+O+O+O
  23236. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  23237. O+O+O+O+O+O+O+O+O
  23238. +O+O+O+O+OO+O+O+O
  23239. O+O+O
  23240. O+O+O+O+O+O+O+O
  23241. +O+O+O$
  23242. O+O+O+O+O
  23243. +O+O+O+OO+O+O+O+O+O+{
  23244. O+O+O+O+O+O+O+O+O
  23245. +O+O+O+O+O+O
  23246. +O+O+O+O+O+O+GOO+O+O+O+O+O+O+O+O+O
  23247. +O+O+O+O+O+O
  23248. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+
  23249. +O+O+O+O+OO+O+O+O+O+
  23250. +O+O+OO+O+O+O+O
  23251. +O+O+O+O+O
  23252. %U%U%U%U%U%U%UI1I1I2H2I1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I
  23253. O+O+O+O+O+O+O+O
  23254. +O+O+O+O+OO+O+O+O+O+O+O+O
  23255. %U%U%U%U%U%U%UI
  23256. 1I1I2H2I1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I
  23257. O+O+O+O+O+O+O+O
  23258. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  23259. %U%U%U%U%U%U%UI1I1I2H2I1I1I1I1I1I1I1I1I1I
  23260. O+O+O+O+O
  23261. O+O+O+O+O+O+{
  23262. +O+O+OO+O+O+O+O+O+O+O,N,O+O+O+O+z
  23263. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  23264. I+O+OG+O+O+O
  23265. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  23266. I+O+O+O+O+O
  23267. +O+O+O+O+O+Oz
  23268. +O+O+O+O+OO+O+O+O+O+
  23269. +O+O+OO+O+O+O+O
  23270. +O+O+O+O+O
  23271. %U%U%U%U%U%U%UI1I1I2H2I1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I
  23272. O+O+O+O+O+O+O+O
  23273. springsC
  23274. sprinkled
  23275. sprinklerJ
  23276. sprinklers
  23277. sprinkling
  23278. sprint
  23279. sprite
  23280. spriteeffect
  23281. spriteeffects
  23282. spritelayer
  23283. spritelayers
  23284. spritesk
  23285. sprout
  23286. sprouted
  23287. spruced
  23288. sptsh
  23289. spunky
  23290. spurious
  23291. spurredT
  23292. spurs}
  23293. spybotm
  23294. spyglass
  23295. spyingm
  23296. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23297. O+O+O+O+O+O+O+O
  23298. O+O+O+O+O+O+O
  23299. O+O+O+O+O+O+O+O
  23300. %U%UI1z{
  23301. O+O+O+O+O+OO+O+O+O+O+O+O+O+O+P*P+O+O+O+O+O+O+O+O+O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+P*P+O+O+O+O+O+
  23302. O+O+O+O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+P*P+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O{
  23303. O+O+O+O+O+O+O
  23304. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+P
  23305. OO+O+O+O+O+O+O+O
  23306. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+P*P
  23307. OO+O+O+O+O+O+O+O
  23308. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+P*P
  23309. OO+O+O+O+O+O+O+O
  23310. +O+O+O
  23311. +O+O+O+OO+O+O+O+O+O+O+O+P*P
  23312. OO+O+O+O+O+O+O+O
  23313. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+P*P
  23314. OO+O+O+O+O+O+O+O
  23315. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+P*
  23316. O+O+O
  23317. O+O+O+O+O+O+O+O+O{
  23318. +O+O+
  23319. O+O+O+O
  23320. O+O+O+O+O+O+O+O+O
  23321. O+O+zO+O+O+O
  23322. +O+O+O+O+O+O+O+O
  23323. O+O+O+O+O+O+O+O+O
  23324. O+OG+O+O+O+O+O+O+O+O+O+O+O+O+O
  23325. O+O+O+O+O+O+O+O+O
  23326. O+O+O+O+O+O+O+O+O+O+O+z
  23327. +O+O+O+O+O+O+O
  23328. I1I1I1I1
  23329. +O+O+OO+O+O+
  23330. O+O+O+O+O+O+O
  23331. O+O+O+O+O+O+O+O+O
  23332. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  23333. O+O+O+O+O+O+O+O+O
  23334. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  23335. O+O+O+O+O
  23336. Given that Microsoft has finally started to make some noises about the short- and medium-term delivery of the new object filing system for Windows, I thought it would be worthwhile looking at a few of the issues that currently matter a lot in the management of networked storage, and how you should be thinking about storage as we move forward to the WinFS era.
  23337. **First, let's establish a few truths: putting storage directly into a server is a stupid thing to do. You end up with the complexi
  23338. ty of hardware RAID controllers, hot-plug drives plus all the associated cost, and then what happens? You have to put in lots of spare storage because it's expensive to add more during the working life of the product - it's cheaper to make sure you have enough up front, of course.
  23339. **Let's consider all that storage in more detail. There's a chunk of it used for standard housekeeping - loading the OS, holding the system page file and so forth - which is pretty much standard across all machi
  23340. nes and OSes. Then you need additional storage to hold application data. On a server, this is typically the data used by server-side apps like SQL Server and Exchange Server.
  23341. **Now do some simple sums. A 10GB hard disk is more than enough for the OS function unless you have many gigabytes of RAM, probably on 64-bit processors, and thus need to hold the swap file and possibly the system crash dump file. Have you tried buying a 10GB hard disk recently? It's quite hard, as 40GB seems to be t
  23342. he minimum. You might want to have this hard disk as a mirror pair, but many sites don't bother. (If you do, look at the simple mirroring capabilities of the software RAID built into Windows 2000/XP before you buy an expensive RAID controller.)
  23343. **Let's look closer at that application data storage. How much you need here will depend entirely on the nature of your application. Some places have a few gigabytes of data in their Exchange Server or SQL Server store, while others have over 100GB
  23344.  of data in Exchange Server alone. Only you know the probable numbers for your organisation. 
  23345. **So how is storage typically purchased for this part of the equation? Some well-oiled rules apply: go for SCSI, hot-swap and RAID in hardware and you'll end up with medium-sized, high-performance disks and everything will be right with the world. Except for one problem; namely, that your disk storage is an unmanageable mess, scattered shotgun fashion across a number of servers. And you have no m
  23346. eans of expanding it in any sensible way, nor of managing it either.
  23347. **One solution at this point would be to go for NAS (network attached storage) devices. These small boxes hold some hard disks and an intelligent motherboard, and they mount their disks onto an Ethernet network. Sounds like a good idea, and they can work well, but they suffer from the same problems as direct server-mounted storage. They're hard to manage, have 'hard edges' in terms of maximum capacity and, worse still, a
  23348. ll disk accesses are now running across your Ethernet, which could cause considerable network traffic congestion in many organisations.
  23349. **The grown-up solution is to go for a SAN (storage area network). Like the NAS, this is a box of hard disks with a controller, but the controller does a lot more work in this case. You can add more hard disks and just 'grow' the storage size automatically. If you have a 400GB SAN store and add another five 100GB hard disks, you'll probably be able see th
  23350. e capacity increased automatically to 800GB, assuming one spindle's worth of storage will be consumed by RAID-5 checksumming. 
  23351. **The big difference is that the connection pipes from your servers to the SAN are typically done via fibre-optic cabling and kept well away from the Ethernet user network. By putting all of your application data onto the SAN, you've pooled the storage into one heap, which is why SANs typically have a much higher percentage utilisation than NAS devices, and certai
  23352. nly far more than hard disks shovelled into the servers themselves. Given that you can easily add more disks, you'll probably end up with a 75-90 per cent utilisation of SAN space, compared with utilisations often down at the 20 per cent level for server-attached storage.
  23353. *Why does all of this matter for WinFS? Well, by moving over to a new filing system, Microsoft is going to allow, over time, a much richer set of storage facilities than we have at present. It has to do this, as other
  23354. wise there's no point in moving. Due to this, you might want to start thinking in new terms about the storage requirements of your company. 
  23355. **Take a hypothetical example. You're a medium-sized company and you currently have some 400GB of data on your network. That's rising fairly quickly, say, at around 100GB per year at present. So, if you were putting in a new storage facility, what would be a good figure to aim for? Remember that the ability to add storage incrementally will be an imp
  23356. ortant factor, but I'd certainly be looking at around 1TB of storage to start with. 
  23357. **I can almost hear you cry that this is five years' worth and that buying this upfront is too much, and you'd be right if you're thinking conventionally. But we need to think around the problem some more. You have 500GB to play with, of which 250GB is being used by Exchange Server, but you're contemplating moving to Titanium (Exchange Server 2003) next year. When you do that upgrade, are you going to wan
  23358. t to upgrade your master database files and not keep the originals online in case something goes wrong? Of course not - you'll copy the data stores first, then do the upgrade safe in the knowledge that you can always undo the upgrade in a matter of seconds by just pointing the old Exchange Server 2000 installation at the old stores. So that's taken us straight up to 750GB. 
  23359. **Now let's say we turn on Index Server to trawl through all the information that's available to us in those databas
  23360. es. These indexes can easily consume 25-35 per cent of the total information size, and I think we've about hit my 1TB mark already.
  23361. **So you buy a 1TB solution with a plan to move to 2TB maybe within one year. Most importantly, though, you have to ensure that your backup and Disaster Recovery (DR) solutions can cope with backing up and restoring 2TB in an acceptable timeframe. Many people forget this and end up with the embarrassment of either not being able to do a full DR within an acce
  23362. ptable period, or of having backups that started the previous night running into the next working day. 
  23363. **By installing a SAN, at least all your data will be in one place so you can buy one big backup/DR device and work with it safe in the knowledge that everything of importance is being backed up from the one storage space. At the end of the day, disk space is cheap - if I can buy a 250GB hard disk for under 
  23364. 300 (albeit in a cheap IDE package), there's no reason why a few terabytes of d
  23365. isk storage should cost huge sums. 
  23366. **Once you have a storage and DR solution that seamlessly scales that far, you can enjoy the ultimate pleasure of stopping thinking in terms of a limited store and imagining you have 'unlimited' storage. Put another way, how would you change your business processes, document and email storage and so forth if you had no worries about the storage space available? Is it really a good idea to face your users with a 30MB inbox limit in Exchange Server? Why n
  23367. ot give them unlimited space but manage it properly from one place? Move old emails out to subsections of the data store to lessen the load and improve manageability.
  23368. *I tend to keep one year's worth of email in my inbox, with its children subfolders dedicated to one client each. Then there's an 'old' folder under each of these, which contains all the older data. So if I want to look for something from the last 12 months, my search is quick and doesn't impact the server unnecessarily. B
  23369. ut if I want to find something from five years ago, I know it's still online and can be found, even through an Outlook Web Access window from some clunky cyber caf in west Los Angeles.
  23370. **So give it some thought. SAN solutions aren't cheap, but they're not ridiculously expensive either. Bringing all your storage together in one place will enable you to handle the huge storage nightmare of the next few years and look forward to a solution where data storage becomes one big 'cloud', actively
  23371.  managed by your servers, rather than the current passive data-bucket solution that harks back to the era of the floppy disk.
  23372. **Security Matters
  23373. *Regular readers will recall that, in issues 86 and 87, I allocated quite a bit of space to security issues, both in this column and in my technical support column. This month, a series of separate incidents and a couple of press releases brought security back to my attention (not that it has ever been that far away). Let's face it, given the num
  23374. ber of criminals out there doing their level best to bring down the working infrastructure of the Internet just because they get a kick out of it, coupled to the permanent attempts of the scum who try and find their way into people's systems, security has become a lot harder than it was even 18 months or so ago. 
  23375. **At that time, I recommended a number of items available for free use at the Microsoft website, including the Microsoft Personal Security Advisor (MPSA). I mentioned that this w
  23376. as produced for Microsoft by Shavlik Technologies, also the producer of a rather useful set of applications called HFNetChk (Microsoft Network Security Hotfix Checker).
  23377. **The replacement for the MPSA goes by the catchy title of Microsoft Baseline Security Analyzer (MBSA) and is part of Microsoft's all-encompassing Strategic Technology Protection Program. It's also produced by Shavlik Technologies on behalf of Microsoft, so working on the principle that it's always better to see what actua
  23378. lly wags the tail I made my way to the Shavlik website to see what was on offer in the HFNetChk area, as that's still the technology that forms the backbone of the MBSA.
  23379. **HFNetChk comes in a number of versions, starting with the free command-line tool HFNetChk.exe, followed by the equally free HFNetChkLT - a cut-down version of HFNetChkPro, a product that's not in the least bit free in monetary terms but which might help you breathe a little more freely in security terms. Then there's th
  23380. e Shavlik Enterprise Manager, which is built on MBSA, includes HFNetChk and is used not only to report back on security vulnerabilities, but also to make suggestions as to what you need to do to improve your security. 
  23381. **There's also the HFNetChkPro AdminSuite, which consists of HFNetChkPro accompanied by the Shavlik AccountInspector, providing you with a toolset that examines your systems for account vulnerabilities as well as patch vulnerabilities. Finally, Shavlik EnterpriseInspector c
  23382. an handle the inspection of thousands of systems, reporting back with clear and - initially at least - lengthy reports on the parlous state of your security.
  23383. **The free versions concentrate on examining your systems for patch vulnerabilities. HFNetChk.exe, the command-line tool, will check Windows NT 4, 2000 and XP for missing patches and provides you with a list when it has completed its probing. As well as the OSes above, HFNetChk.exe will also check for patches, or the lack of them, on
  23384.  a whole slew of Microsoft products and server technologies, including various flavours of SQL Server, Exchange Server, Internet Information Server and Internet Explorer.
  23385. **HFNetChkLT is also free and comes with a neat GUI. It does system scanning as well and incorporates something Shavlik calls PatchPush. This handy feature means you don't have to run Windows Update on every system on your network any more - just let HFNetChkLT get on with the job of pushing patches onto the machines tha
  23386. t you designate should receive them. What I like most about HFNetChkLT is that you don't even have to spend ages laboriously installing agents on every machine you want analysed or patched - just install the software on one system and it gets on with its work of updating from one or two machines to the entire network.
  23387. **HFNetChkPro is the bigger brother of HFNetChkLT and, as you might expect, shares the refreshing lack of agents and tedious installation work of its younger sibling. In add
  23388. ition, it provides you with the ability to push your patches onto a much wider variety of desktop and server applications, including SQL Server, Internet Information Server, Internet Explorer, Exchange Server and more. 
  23389. **It also overlaps slightly with the application field covered by the EnterpriseInspector in that it stores the reports you receive in a SQL Server database and enables you to design these reports. It also carries out thorough security checks on programs like SQL Server an
  23390. d produces a report that shows you just how secure those systems are. It's advisable to be sitting down when you start perusing these.
  23391. **The MBSA is also available as part of the Microsoft Security Resource Kit, something I applied for on the Microsoft UK website when it was first announced. This comprises a bunch of 120-day evaluation versions of Windows 2000 Advanced Server, Windows XP Professional, Internet Security and Acceleration Server 2000 Enterprise Edition and Systems Management
  23392.  Server. Other tools included are our old friend URLScan, with which I had so much fun 18 months ago, and the IIS Lockdown tool. You can apply for this useful beast by following the links at www. microsoft.com/uk/security
  23393. *If you're a Norton AntiVirus user, you'll need to disable Script Blocking before launching the MBSA, as otherwise it won't run. To check out MBSA, visit www.microsoft.com/technet/ treeview/default.asp?url=/ technet/security/tools/Tools/mbsahome.asp
  23394. **Sadly, at the time 
  23395. _of writing, the download from that site was broken and refused to install after I'd fetched it, but I was saved by being able to install the version of MBSA that came on the Security Resource CD accompanying the Microsoft Security Resource Kit. I've alerted Microsoft to this fact so it will almost certainly have been fixed by the time you read this.
  23396. HaJon Honeyball files away his worries, while David Moss looks at shoring up system vulnerabilitiesL
  23397. March 2003X
  23398. 101 (March 2003)i
  23399. Back Office
  23400. Dave JewellD
  23401. Delphi .NET
  23402. O+O+O+O+O+O+
  23403. O+O+O
  23404. O+O+O+O+O+O+O+O+O
  23405. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23406. O+O+O+O+O+O+O+O+O
  23407. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23408. O+O+O+O+O+O+O+O+O
  23409. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23410. O+O+O+O+O+O+O+O+O
  23411. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23412. O+O+O+O+O+O+O+O+O
  23413. O+O+O+O+O+O+O+O+O+O+O+O
  23414. +O+O+O
  23415. O+O+O+O+O+O+O+O+O
  23416. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23417. O+O+O+O+O+O+O+O+O
  23418. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23419. O+O+O+O+O+O+O+O+O
  23420. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23421. O+O+O+O+O+O+O+O+O
  23422. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23423. O+O+O+O+O+O+O
  23424. O+O+O+O+O+O+O+O+O+O+O+O+
  23425. O+O+O+O
  23426. O+O+O+O+O+O+O+O
  23427. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  23428. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+P*P
  23429. OO+O+O+O+O+O+O+O
  23430. +O+O+O+O+O+
  23431. O+OO+O+O+O+O+O+O+O+P*P
  23432. OO+O+O+O+O+O+O+O
  23433. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+{z
  23434. O+O+O+O+O+O+O
  23435. O+O+O+O+O+O+O+O
  23436. O+O+O+O+O+O+
  23437. O+O+O+O+O+O+O+O+O+O
  23438. O+O+O+O+O+O+O+O
  23439. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23440. O+O+O+O+O+O+O+O
  23441. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23442. O+O+O+
  23443. O+O+O+O+O
  23444. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23445. O+O+O+O+O+O+
  23446. +O+O+O+O+O+O+O+O+O+O
  23447. O+O+O+O+O+O+O+O+O
  23448. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23449. O+O+O+O+O+O+O+O+O
  23450. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23451. O+O+O+O+O+O+O+O+O
  23452. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23453. O+O+O+O+O+O+O+O+O
  23454. O+O+O+O+O+O+O+O+O+O+O+O
  23455. +O+O+O
  23456. O+O+O+O+O+O+O+O+O
  23457. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23458. O+O+O+O+O+O+O+O+O
  23459. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23460. O+O+O+O+O+O+O+O+O
  23461. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23462. O+O+O+O+O+O+O+O+O
  23463. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23464. O+O+O+O+O+O+O+O+O
  23465. O+O+O+O+O+O+O+O+O+O+O+O+
  23466. O+O+O
  23467. +O+O+O+O
  23468. %UI1I1I1I1I1I1I1I1I1I
  23469. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23470. %UI1I1I1I1I1I1I1I1I1I
  23471. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23472. %UI1I1I1
  23473. I1I1I1I1I1I1I
  23474. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23475. %UI1I1I1I1I1I1I1I1I1I
  23476. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23477. %UI1I1I1I1I1I1I1I1I1I
  23478. O+O+O+O+O+O
  23479. +O+O+O+O+O+O+O+O
  23480. %UI1I1I1I1I1I1I1I1I1I
  23481. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23482. %UI1I1I1I1I1I1I1I1I1I
  23483. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23484. %UI1I1I1I
  23485. 1I1I1I1I1I1I
  23486. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23487. %UI1I1I1I1I1I1I1I1I1I
  23488. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23489. %UI1I1I1I1I1I1I1I1I1I
  23490. O+O+O+O+O+O+O+O+O+O+O+O
  23491. %UI1I1I1
  23492. I1I1I1I1I1I1I
  23493. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23494. %UI1I1I1I1I1I1I1I1I1I
  23495. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23496. %UI1I1I1I1I1I1I1I1I1I
  23497. O+O+O+O+O+O
  23498. +O+O+O+O+O+O+O+O
  23499. %UI1I1I1I1I1I1I1I1I1I
  23500. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23501. %UI1I1I1I1I1I1I1I1I1I
  23502. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23503. %UI1I1I1I/1I1I1I1I1I1I
  23504. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23505. +O+O+O+O
  23506. O+O+O+O+O+O+O
  23507. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  23508. O+O+O+O+O+O+O+O+O
  23509. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  23510. O+O+O+O+O+O+O+O+O
  23511. +O+O+O+O+O
  23512. O+O+O+O+O+O+O+O+O+O
  23513. O+O+O+O+O+O+O+O+O
  23514. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  23515. O+O+O+O+O+O+O+O+O
  23516. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  23517. +O+O+O+O+O+O+O
  23518. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  23519. O+O+O+O+O+O+O+O+O
  23520. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  23521. O+O+O+O+O+O+O+O+O
  23522. +O+O+O+O+OO
  23523. +O+O+O+O+O+O+O+O+O
  23524. O+O+O+O+O+O+O+O+O
  23525. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  23526. O+O+O+O+O+O+O+O+O
  23527. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  23528. O+O+O
  23529. O+O+O+O+O+O+O+O+O
  23530. O+O+O+O+O
  23531. unmanageabler
  23532. unmanaged
  23533. unmangling
  23534. unmanned
  23535. unmap
  23536. unmatchable
  23537. unmatched
  23538. unmaximise
  23539. unmetered
  23540. unminable
  23541. unmirrored
  23542. unmistakable
  23543. unmitigatedY
  23544. unmodified
  23545. unmoved
  23546. unmutes
  23547. unnamed
  23548. unnaturall
  23549. unnaturally
  23550. unnavigable
  23551. unnecessarilyr
  23552. unnecessaryU
  23553. unneeded
  23554. nregistered
  23555. unrelatedV
  23556. unreleased
  23557. unreliabilityR
  23558. unreliableQ
  23559. unreservedb
  23560. unresolved
  23561. unruly
  23562. unsafeq
  23563. unsafenclnativemetho
  23564. unsatisfactory
  23565. O+O+O+O+O
  23566. O+O+O+O+O+O+O+O+O
  23567. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23568. O+O+O+O+O+O+O+O+O
  23569. O+O+O+O+O+O+O+O+O+O+O
  23570. +O+O+O+O
  23571. O+O+O+O+O+O+O+O+O
  23572. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23573. O+O+O+O+O+O+O+O+O
  23574. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23575. O+O+O+O+O+O+O+O+O
  23576. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23577. O+O+O+O+
  23578. O+O+O+O+O+O+O
  23579. %UI1I1I1I1I1I1I1I1I1I
  23580. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23581. %UI1I1I1I1I1I1I1I1I1I
  23582. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23583. %UI1I
  23584. I1I1I1I1I1I1I
  23585. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23586. %UI1I1I1I1I1I1I1I1I1I
  23587. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23588. %UI1I1I1I1I1I1I1I1I1I
  23589. O+O+O+O+O+O
  23590. +O+O+O+O+O+O+O+O
  23591. %UI1I1I1I1I1I1I1I1I1I
  23592. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23593. %UI1I1I1I1I1I1I1I1I1I
  23594. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23595. %UI1I1I1I/1I1I1I1I1I1I
  23596. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23597. +O+O+O+O
  23598. O+O+O+O+O+O+O
  23599. %UI1I1I1I1I1I1I1I1I1I
  23600. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23601. %UI1I1I1I1I1I1I1I1I1I
  23602. +O+O+O+O
  23603. +O+O+OO+O+O+O+O+O+O+O+O+O
  23604. O+O+O+O
  23605. +O+O+O+O+O+O+O
  23606. +O+O+OO+O+O+O+O+O+O+O+O+O
  23607. O+O+O+O+O+O+O+O+O+O+O
  23608. +O+O+OO+O+O+O+O+O+O+O+O+O
  23609. O+O+O+O+O+O+O+O+O+O+O
  23610. +O+O+OO+O+O
  23611. +O+O+O+O+O+O+O
  23612. O+O+O+O+O+O+O+O+O+O+O
  23613. O+O+O+O+O+O
  23614. O+O+O+O+O+O+O+O+O
  23615. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23616. O+O+O+O+Oz
  23617. O+O+O+O
  23618. O+O+O+O+O+O+O+O+O
  23619. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23620. O+O+O+O+O+O+O+O+O
  23621. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23622. O+O+O+O+O+O+O+O+
  23623. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23624. O+O+O+O+O+O+O+O+O
  23625. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23626. O+O+O+O+O+O+O+O+O
  23627. O+O+O+O+O+O+O+O+O+O+O
  23628. +O+O+O+O
  23629. O+O+O+O+O+O+O+O+O
  23630. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23631. O+O+O+O+O+O+O+O+O
  23632. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23633. O+O+O+O+O+O+O+O+O
  23634. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23635. O+O+O+O+
  23636. O+O+O+O
  23637. O+O+O+O+O+O+O+O
  23638. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23639. O+O+O+O+O+O+O{
  23640. +O+O+O+O
  23641. O+O+O+O
  23642. O+O+O+O+O+O+O+O+O
  23643. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23644. O+O+O+O+O+O+O+O+O
  23645. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23646. O+O+O+O+O+O+O+O+
  23647. O+O+O+O+O+O+O+O+O+O+
  23648. Okay, I lied to you. Last month, I promised that this month I'd be talking about Microsoft's new freebie ASP .NET development tool, Web Matrix (<A HREF="http://www.asp.net/webmatrix" target="_BLANK">www.asp.net/webmatrix</A>). I still plan to take an in-depth look at Web Matrix soon, but I've decided to devote this column to using the Delphi for .NET Preview Edition as the scripting language behind your ASP .NET web pages. The reason for this is that half the readers seem to want nothing b
  23649. ut Delphi, while the other half only want .NET, and this way I kill two birds with one stone.
  23650. **I've previously mentioned that the Preview Edition of the Delphi for .NET compiler is available to anyone who buys the Delphi 7 development system. Although this is just a simple command-line tool, you can easily configure IIS so as to use Delphi as its scripting language. The preview compiler comes with instructions on how to do this, but for those who have relatively little experience with II
  23651. S and ASP .NET here's a blow-by-blow account of how to do it.
  23652. **First, you'll need to create a new virtual directory for your experiments. To do this, open the Control Panel, double-click Administrative Tools and then double-click Internet Information Services. This will fire up the Microsoft Management Console for IIS configuration. On the right-hand side of the dialog box, you'll see a hierarchical tree-view that lists the available IIS-related entities. Below the root node, you'll find
  23653.  an entry for your local computer. Below this is another node entitled Web Sites, and below that another node named Default Web Server. 
  23654. **If you right-click this node, you'll see a Context menu with a New option from where you can specify that you want to create a new virtual directory. This will invoke the Virtual Directory Creation Wizard, from where you may further specify a logical name (alias) for the virtual directory, together with the pathname of the physical directory that's to 
  23655. contain your web content. You're also able to set up the permissions that dictate what a client can do. For simple messing around with Delphi for NET, it's adequate to set read permission and to grant execute permission for scripts and executables. In my case, I set the virtual directory name to D4NPE (an acronym for 'Delphi for .NET, Preview Edition) and designated c:\d4npe as the physical content location. 
  23656. **At this point, you've got your logical directory set up, but you need to add s
  23657. ome content. When IIS parses an ASPX file (your ASP .NET source code), it consults a special XML configuration file called web.config, which you can locate in the same physical directory as the rest of the content. Code Listing One shows the sample web.config file supplied by Borland as part of the D4NPE package. The important thing here is the add assembly field that references something called DelphiProvider and the subsequent references to compiler language, extension and type.
  23658. **Borla
  23659. nd supplies a small .NET assembly called delphiprovider.dll which you can conveniently locate in a bin directory off your main content folder - IIS will automatically check this location when trying to load the assembly referred to inside web.config. I won't bore you with a detailed description of what this DLL does, suffice it to say that, among other things, it acts as the 'glue' connecting IIS with the compiler for a specific script language. In the web.config file we've told IIS that t
  23660. his language is called Delphi. 
  23661. **So now you've set up the configuration file, created a bin directory and copied Borland's delphiprovider.dll file into it. The final piece of the jigsaw, as you no doubt suspected, is to create an ASP .NET source file that makes use of all this stuff. To illustrate how this works, I've shamelessly borrowed Borland's editdemo.aspx code, which you can see in Code Listing Two. 
  23662. **Inside the outer-level HTML tag, you'll find that there's a script section wit
  23663. h a language identifier that marks the scripting language as Delphi. This causes IIS to use the DelphiProvider assembly that I mentioned earlier. This is followed by the source code of a simple ButtonClick event handler, which - as I'll show you in a moment - is triggered in response to a button push. In case you're unfamiliar with the .NET Framework, the EventArgs class encapsulates a 'null' event and is frequently passed to event handlers. The Sender argument is of type System.Object and
  23664.  you have to ensure that this type is qualified by the System namespace, because Object is a reserved word in Object Pascal. 
  23665. **Below the script section there comes a standard set of ASP .NET control tags that define a textbox called Edit1 followed by a button with the caption 'Click Me!'. Notice how the OnClick handler for this button is pointed at the Delphi event handler. Finally, after a new paragraph tag, a label control called Message is also referenced. Since I've defined my virtua
  23666. l directory name as D4NPE, I can try things out by using the following URL: http://localhost/d4npe/editdemo.aspx
  23667. *The result can be seen in the screenshot below. Type some text into the edit box, click the button on the right and - hey presto! - the text is copied into the label control below. Not exactly rocket science, but it's still nice to be able to use Object Pascal as an ASP .NET scripting language. 
  23668. **Flushed with success from the above code, I decided to tackle a slightly more co
  23669. mplex example. If you point your web browser at www.asp.net/tutorials/quickstat.aspx, you'll find a large number of runnable samples that show various aspects of ASP .NET. One of these, vb intro7.aspx, demonstrates how to add a WebForms calendar control to a page and determine the currently selected date in response to a button press. (Hint: go to the aforementioned URL, select 'Introducing Web Forms' from the menu on the left and scroll down until you find VB Intro 7.)
  23670. **As you'll have a
  23671. lready inferred, the script part of this demo was originally written in VB .NET so I translated it into Object Pascal, the result being shown in Code Listing Three. For the sake of brevity, I've shown only the script part of the ASPX file - browse this month's cover disc to find the whole thing. As you can see, the event handler simply links a bunch of strings together, including the selected subject string from the Category combo box and the currently selected date from the Calendar contr
  23672. ol. You can see the program running in the screenshot opposite. 
  23673. **I was slightly stumped by the way in which the Delphi preview compiler complained about the absence of the Date property in the Calendar control - perhaps the old VB code referred to an earlier version of WebForms. However, after consulting the Microsoft documentation and replacing Date with a reference to SelectedDate, everything worked fine. As it happens, I was quite pleased that I wound up with a compiler error part-wa
  23674. y through the process, because when this happens it causes ASP .NET to display an error page that contains links to (a) the compiler output that includes the offending error message, and (b) the auto-generated Delphi code that gets fed into the compiler itself. 
  23675. **This auto-generated code is, of course, produced by the DelphiProvider DLL and it's quite verbose. Among other things, it encapsulates the ASP .NET page as a descendant of System.Web. UI.Page and adds control definitions to this
  23676.  class that make it possible for the Delphi code to reference other elements of the page as easily as if they were dealing with a VCL form. Thus, in the current example, the page class will include the following protected declarations:
  23677. **Name: System.Web.UI. WebControls.TextBox;
  23678. *Category: System.Web.UI.WebControls.DropDownList;
  23679. *MyCal: System.Web.UI. WebControls.Calendar;
  23680. *Message: System.Web.UI.WebControls.Label;<p>
  23681. *These goodies are automatically initialised by a number of other auto-
  23682. generated private methods of the page class. To see all this stuff for yourself, take a look at the file x3ymjaya.0.pas, which contains the generated Pascal source (this time without a compilation error in it). You can find it on this month's cover disc. As you've doubtless guessed, the aforementioned filename was also auto-generated. If you're wondering where these files are stored, look below for the following directory location: D:\WINDOWS\Microsoft.NET\Framework\v1.0.3705\Temporary ASP
  23683. .NET Files\d4npe\
  23684. *As I indicated previously, d4npe is my own virtual directory name - you can call it something else. There are at least a couple of other levels of subdirectories below this, whose folder names are made up of eight hex digits. I'm not sure of the significance of this directory structure, but I imagine ASP .NET uses distinct directory trees for different ASPX files and pages within a particular virtual directory. 
  23685. **ASPx of the Grid
  23686. *Since I'm majoring on ASP .NET this mo
  23687. nth, I thought you might be interested in ASPxGrid, a new product from Developer Express. (www.devexpress.com). As its name suggests, this is a fully featured WebForms control written in 100 per cent C# code, which may be directly incorporated into your web apps through the magic of ASP .NET. Like other grid controls available from Developer Express, you can sort the grid against any particular column merely by clicking the relevant column header. You're also able to group data against an 
  23688. arbitrary number of columns simply by dragging column headers to the 'parking area' immediately above the headers. 
  23689. **For example, imagine a hypothetical grid displaying all your employee data; dragging the 'Site' column header to the parking area will immediately sort all the employees according to the site where they work. Drag the Room Number header onto the parking area too and you'll have an employee view that's sorted first by site and then by room number within each site. 
  23690. **Yes, 
  23691. we've been able to do this kind of thing for some time with Developer Express' VCL-based grid component, for example, but being able to do exactly the same thing from a web page is an almost surreal experience. The WebForms implementation even includes those famous little green 'tracker' arrows that indicate what will happen when you move or rearrange column headers. 
  23692. **There's a built-in data navigator control that simplifies navigation and grid editing. It includes one-click buttons for
  23693.  jumping to the first row, previous row, previous page as well as next row, next page and last row. From here, you can change the page size (number of rows displayed) and insert, delete or edit a particular row. 
  23694. **ASPxGrid also includes integrated support for simple statistical functions such as COUNT, AVG, MIN, MAX, and SUM, which makes it possible to implement simple reports without writing any code. As with all Developer Express .NET controls, full source code is included in the packa
  23695. ge, which is reasonable considering that the whole thing is available for $150 (
  23696. 97). Internet Explorer 4 (or higher), Netscape Navigator 4 (or higher) and Mozilla are all supported. To see ASPxGrid in action, check out www.devexpress.com/products/net/ aspxgrid/demo.asp where you'll find a number of sample ASP .NET pages that have been set up to show the various capabilities of the grid control. 
  23697. **I've believed for some time that ASP .NET heralds a rapid and exciting convergence of deskt
  23698. op and web application development technologies. These days, web users are coming to expect a far higher level of rich interactive content than was the case when programmers were limited to working with raw HTML. We're quickly moving to a point where the naive user wouldn't be able to distinguish between a desktop application and a web application were it not for the fact that it's running in a browser. Of course, this is being partly driven by the increasing availability of broadband, des
  23699. pite the fact the UK is still lagging woefully behind in this respect. 
  23700. **But what's especially interesting about all this from a development perspective is the convergence of programming models used. In the past, I've mentioned the excellent IntraWeb framework produced by Atozed Software (www.atozedsoftware.com), which makes it easy to develop web apps with Delphi using a RAD-based paradigm. You drop components on a form, set properties, write event handlers and so on, just as if you wer
  23701. e creating a desktop application. ASP .NET puts the same capabilities into the hands of C# and VB .NET developers, all the more so with the advent of powerful third-party components such as ASPxGrid. 
  23702. **In the same sort of way, the Delphi Provider DLL for ASP .NET, which I've discussed above, hints at similiar possibilities for the forthcoming Delphi for .NET product. If Borland gets it right, it will be possible to program for the desktop or the Web using the same methodology. Borland un
  23703. fortunately didn't get it right with WebSnap, but Atozed did get it right with IntraWeb. Let's hope that a few lessons have been learned in Scott's Valley.
  23704. **In a recent interview with Don Box (the ultimate COM guru), he was asked about his future plans. He said that after spending so much time working on the internal behind-the-scenes plumbing, he was looking forward to getting back out into the sunshine and writing some nice apps again. I suspect that by the time Don surfaces from the c\Patacombs, there'll be little to distinguish between web and desktop programming.
  23705. HdDave Jewell looks at how the Delphi for .NET compiler can be used as a script language with ASP .NETL
  23706. March 2003X
  23707. 101 (March 2003)i
  23708. Code Workshop
  23709. Angus HamiltonD
  23710. Drugnet
  23711. delphi
  23712. deluge
  23713. demon
  23714. demon
  23715. fallout
  23716. demon-ic
  23717. demon-ic
  23718. debate
  23719. depths
  23720. design
  23721. design
  23722. classic
  23723. design
  23724. update
  23725. design's
  23726. design's
  23727. who's
  23728. desktop
  23729. destiny
  23730. detective
  23731. detective
  23732. murder
  23733. diggingL
  23734. digging
  23735. deepL
  23736. digging
  23737. microsoft
  23738. digital
  23739. digital
  23740. darkroom
  23741. digital
  23742. dashboards
  23743. dilemma
  23744. directork
  23745. director
  23746. director's
  23747. director's
  23748. disclosure
  23749. discussion
  23750. disgo-tech
  23751. diskeeper
  23752. diskeeper
  23753. hang-ups
  23754. display
  23755. disputes
  23756. distance
  23757. distance
  23758. object
  23759. distant
  23760. distant
  23761. dealing
  23762. dividez
  23763. dilemma
  23764. doctor
  23765. doctoring
  23766. doctoring
  23767. networks
  23768. dodgy
  23769. dodgy
  23770. outlook
  23771. ebooks
  23772. palmW
  23773. economy
  23774. edited
  23775. edited
  23776. highlights
  23777. error
  23778. scriptsC
  23779. scroll-button
  23780. scroll-right
  23781. scrollable
  23782. scrollbar
  23783. scrollbars
  23784. scrolled
  23785. scroller
  23786. scrollingc
  23787. scrollleft
  23788. scrolllock
  23789. scrolllock-a
  23790. scrollpane
  23791. scrolls
  23792. scrollspeed
  23793. +O+O+O+O+O+O+O+O
  23794. O+O+O+O+O+O+O+O
  23795. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23796. O+O+O+O+O+O+O+O
  23797. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23798. O+O+O+O+O+O+O+O
  23799. O+O+O+O+O+O+O+O+O+O+
  23800. O+O+O+O+O
  23801. O+O+O+O+O+O+O+O
  23802. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23803. O+O+O+O+O+Oz
  23804. O+O+O+O+O+O+O
  23805. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  23806. O+O+O+O+O+O+O+O+O+O
  23807. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  23808. O+O+O+O+O+O+O+O+O+O
  23809. +O+O+O+OO+
  23810. O+O+O+O+O+O+O+O+O
  23811. O+O+O+O+O+O+O+O+O+O
  23812. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  23813. O+O+O+O+O+O+O+O+O+O
  23814. +O+O+O+OO+O+O+O+O+O+
  23815. O+O+O+O
  23816. O+O+O
  23817. +O+O+O+O+O+O+O
  23818. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  23819. O+O+O+O+O+O+O+O+O+O
  23820. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  23821. O+O+O+O+O+O+O+O+O+O
  23822. +O+O+O+OO+O
  23823. +O+O+O+O+O+O+O+O
  23824. O+O+O+O+O+O+O+O+O+O
  23825. O+O+O+O+O+O
  23826. O+O+O+O+O+O+O+O+O
  23827. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  23828. O+O+O+O+Oz
  23829. OO+O+O
  23830. O+O+O+O+O+O+O
  23831. +O+O+OO+O+O+O+O+O+O+O+O+O
  23832. O+O+O+O+O+O+O+O+O+O+O
  23833. +O+O+OO+O+O+O+O+O+O+O+O+O
  23834. O+O+O+O+O+O+O+O+O+O+O
  23835. +O+O+OO+O+
  23836. O+O+O+O+O+O+O+O
  23837. O+O+O+O+O+O+O+O+O+O+O
  23838. +O+O+OO+O+O+O+O+O+O+O+O+O
  23839. O+O+O+O+O+O+O
  23840. O+O+O+O+O+O+O+O
  23841. O+O+O+O+O+O+O+O+O
  23842. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  23843. O+O+O+O+O+O+O+O+O
  23844. +O+O+O+O+OO+O+O+O+O+O+O
  23845. O+O+O+O
  23846. %U%U%U%U%U%U%UI1I
  23847. +O+O+O
  23848. +O+O+OO+O+O+O+O+O+O+O+O+O
  23849. +O+O+O+O
  23850. O+O+O+O+O
  23851. O+O+O+
  23852. iO+O+O+O+O
  23853. +O+O+O+O+O+OO+O+O+
  23854. +O+O+OO+O+O+O+O+O+O+O+O+O
  23855. %U%U%U%U%U%U%UI1I1I2H2I1I1I1I1I1I1I1I1I1I1I1I1I1I1I
  23856. O+O+O+O+O+O+O+O
  23857. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  23858. %U%U%U%U%U%U%UI1I1I
  23859. +O+O+OO+O+O+O+O+O+O+O+O+O,N,O+O+O+O+O+O+O+O+O
  23860. +O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  23861. ,N,O+O+O+O+O+O+O+O+O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O,N,O+O+O+O+O+O+O+O+O+O+O+O+O+O+OO+O+O+O+O+O+O+
  23862. O+O+O,N,O+O+O+O+O+O+O+O+O+O+O+O+O+O+OO+O+O
  23863. O+O+O
  23864. +O+OO+O+O+O+O+O+O+O+
  23865. +O+O+O
  23866. +O+O+O+O+O+O+O+O
  23867. I+O+O+O+O
  23868. +O+O+O+O
  23869. O+O+O+O+O+O+O
  23870. O+O+O+O+O+O+O+O+O
  23871. OO+O+O+O
  23872. +O+O+O+O+O+O
  23873. O+O+O+O+O+O+O+O+O
  23874. %OO+O+O+O+O+O+O
  23875. +O+O+O+O+O+O+O+O
  23876. O+O+O+O+O+O+OE+O+O
  23877. %OO+O+O+O+O+O+O
  23878. +O+O+O+O+O+O+O+O
  23879. O+O+O+O+O+O+O+O+O
  23880. %OO+O+O+O+O+O+
  23881. OO+O+O+O+O
  23882. O+O+O+O+O+O+O+O
  23883. +O+O+O+O+O+O
  23884. O+O+O
  23885. O+O+O+O+O+O+O+O
  23886. +O+O+O+O
  23887. +O+OO+O+O+O+O+O+O+O+O+O
  23888. O+O+O+
  23889. O+O+O+O+O+O+O+O
  23890. +O+O+OO+O
  23891. +O+O+O
  23892. +O+O+OO+O+O+O+O+O+O+O+O+O
  23893. +O+O+O+O
  23894. O+O+O
  23895. O+O+O+Oz
  23896. +O+O+OO+O+O+O+O+O+O+O+O+O
  23897. %U%U%U%U%U%U%UI1I1I1I2H2IG1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I
  23898. O+O+O+O+O+O+O+O
  23899. +O+O+O+OO+O+O+O+O+O+O
  23900. +OO+O+O+O+O+O+
  23901. O+O+O+O
  23902. O+O+O+O+O+O+O+O+O+O+O+O
  23903. +O+OO+O+O+O+O+O+O+O+O+O
  23904. O+O+O+O+O+O+O+O+O+O+
  23905. +O+OO+O+O+O+O+O+O+O+O+O
  23906. O+O+O+O+O+O+O+O
  23907. +O+O+O+O
  23908. +O+OO+O+O+O+O+O+O+O+O+O
  23909. O+O+O+
  23910. O+O+O+O+O+O+O+O
  23911. +O+O+OO+O
  23912. +O+O+O
  23913. +O+O+OO+O+O+O+O+O+O+O+O+O
  23914. +O+O+O+O
  23915. O+O+O
  23916. O+O+O+O+
  23917. O+O+O+
  23918. +O+O+O+O+O+O+O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+P*P+O+O+GO+O+O+O+O+O+O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+P*P+O+O+O+O+O+O+O+O+O+O+O+Oz
  23919. +O+O+
  23920. OO+O+O+O+O
  23921. +O+O+O
  23922. +O+OO+O+O+O+O+O+O+O+O+O
  23923. O+O+O+O+O+O+O+O+O
  23924. +O+O+O+O+OO+O+
  23925. shapeC
  23926. shape's
  23927. shape-based
  23928. shape-shifting
  23929. shaped
  23930. shaperange
  23931. shapers
  23932. shapesD
  23933. shapetype
  23934. shapingc
  23935. OO+O+O+O+O+O+O+O+O+O
  23936. O+O+O+O+O
  23937. O+O+O+O+O+O+O+O+
  23938. +O+O+O+O+O+O+O+O
  23939. I+O+O+O
  23940. O+O+O+O
  23941. O+O+z
  23942. +O+O+O
  23943. +O+O+O+O+O+O+O+O+O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+P*PG+O+O+O+O+O+O+O+O+O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+P*P+O+O+O+O+O+O+O+O+O+z
  23944. +O+O+OO+O+O+O+O+O+
  23945. O+O+O+O
  23946. I+O+O+O+O+O
  23947. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  23948. I+O+O+O+O+O
  23949. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  23950. I+O+O+O+O
  23951. O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  23952. O+O+O+O+O
  23953. O+O+O+O+O+O+O+O+
  23954. +O+O+OO+O+O+O+O+O+O+O+O+O
  23955. O+O+O+O+O+O
  23956. +O+O+O
  23957. +O+O+OO+O+O+O+O+O+O+O+O+O
  23958. I+O+O+O+O+O
  23959. +O+O+O+O+O+OG+OO+O+O+O+O+O+O+O+O+O
  23960. I+O+O+O+O+O
  23961. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O
  23962. +OO+O+O+O+O+O+
  23963. O+O+O+O
  23964. O+O+O+O+O+O+O+O+O+O+O+O
  23965. +O+OO+O+O+O+O+O+O+O+O+O
  23966. O+O+O+O+O+O+O+O+O+O+O+O
  23967. +O+OO+O+O+O+O+O+O+
  23968. net/webmatrixs
  23969. net/windows
  23970. net2phone
  23971. netadmin
  23972. netbanx
  23973. netbeam
  23974. netbeans
  23975. netbenefit
  23976. netbenifit
  23977. netbeui
  23978. netbiosx
  23979. netbooku
  23980. netbook/series
  23981. netbsd
  23982. netserverb
  23983. netservicesf
  23984. netshF
  23985. netsnippets
  23986. netstore
  23987. netstore's
  23988. netsyncx
  23989. netwareF
  23990. networkA
  23991. O+O+O+O+O+O+O+O+O
  23992. +O+O+O+O
  23993. +O+O+OO+O+O+O+O+O+O+O+O+O
  23994. +O+O+O+O
  23995. O+O+O+O+O+{
  23996. +O+O+O+
  23997. +O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  23998. O+O+O+O+O+OG+O+O
  23999. +O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  24000. O+O+O+O+O+O+O+O
  24001. +O+O+O+O+O+OO+{
  24002. +O+O+O+OO+O+O
  24003. +O+O+O+O+O+O+O
  24004. %U%U%U%U%U%U%UI1I1J0J1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I
  24005. O+O+O+O+O+O+O+O+O
  24006. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  24007. %U%U%U%U%U%
  24008. U%UI1I1J0J1I1I1I1I1I1I1I1I1I1I
  24009. 1I1I1I1I1I1I
  24010. O+O+O
  24011. +O+OO+O+O+O+O+O+O+O+
  24012. +O+O+O+OO+O+
  24013. +O+O+OO+O+O+O+O+O+O+O+O+O
  24014. +O+O+O+O
  24015. O+O+O
  24016. O+O+O+z
  24017. +O+O+O
  24018. +OO+O+O+O+O+O+O+O+O+O
  24019. O+O+O+O+O+O+O+O+O+O+O+GO
  24020. +O+OO+O+O+O+O+O+O+O+O+O
  24021. O+O+O+O+O+O+O+O+O+O+O+O
  24022. +O+OO+O+O+O+O+O+O{
  24023. +O+O+OO+O+O+O+O+O+
  24024. O+O+O+O
  24025. I+O+O+O+O+O
  24026. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  24027. I+O+O+O+O+O
  24028. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  24029. I+O+O+O+O+O
  24030. O+O+O+O+O+O+
  24031. future-proofP
  24032. future-proofing
  24033. futures
  24034. futuresplash
  24035. futuristic
  24036. futurologists
  24037. fuzziness
  24038. fuzzy
  24039. fvalue
  24040. fvwm95
  24041. fw900
  24042. fwavemax
  24043. fwavemin
  24044. fwholebars
  24045. fx-550
  24046. g-media
  24047. g-media's
  24048. g450-based
  24049. gabber
  24050. gadgetF
  24051. gadgetsF
  24052. gaffe
  24053. gaffer
  24054. gaggingJ
  24055. gaggleF
  24056. gainy
  24057. It would appear from looking at the unwanted contents of my inbox that the latest batch of dotcom entrepreneurs has wised up to the fact that one of the few 'almost guaranteed' ways to make money from the Internet is by dealing in the illegal or the barely lawful; that is, making available through the Web what is not, for good reason, easily available on the high street.
  24058. **The high-street vendor refrains from dealing in such goods and services for the obvious reason that the police, local
  24059.  authority or other law-enforcement agencies are likely to prosecute and close the enterprise down.
  24060. **The online supplier, however, seeks to exploit three particular and recurrent features of the Internet. First, the trans-national aspect of the Internet allows a supplier to try and escape enforcement in a particular jurisdiction. Second, the relatively anonymous nature of the Web can allow a supplier to disguise their location and identity, making enforcement additionally difficult. Fina
  24061. lly, a consumer who has parted with their credit card details may find the enforcement of the contract for goods or services difficult when nothing arrives or access to an online service is denied. This latter is, of course, also partly due to the anonymous and trans-national aspects of the Internet, but in addition because, as a matter of public policy, national laws rarely allow the enforcement of contracts for the acquisition of an unlawful item or service.
  24062. **From a brief and non-scien
  24063. tific examination of my inbox, it seems that the most common barely lawful or illegal online service is the provision of pornography in all its forms. Coming a close second, however, is the supply of drugs - in particular prescription drugs - via numerous online 'pharmacies'. Leading the pack of readily available but illicit online drugs has to be Viagra. Only marginally less popular are various drugs designed to assist weight loss (Xenical, Phentermine; Meridia; Bontril; Ionamin and Adipe
  24064. x), depression (Prozac) and hair loss (Propecia). Performance-enhancing drugs used by athletes and body builders are also readily available.
  24065. **Although the anonymous nature of the Internet makes identifying the physical location of an online drug supplier difficult, it would appear from the content of their sites that the majority of online pharmacies are in the US. 
  24066. **Regulation of the online sale of drugs in the US is complex, as there's legislation at both federal and state level. At 
  24067. the federal level, enforcement is the task of the Food and Drugs Administration, or FDA (www.fda.gov), which provides useful guidance to US citizens and overseas purchasers about buying prescription drugs online at www.fda.gov/oc/buyonline/default.htm
  24068. *It's permissible in the US to sell prescription drugs online legitimately. The pharmacy running the online business must be registered and licensed and the consumer must either provide a valid prescription by fax or mail, or hold a detailed 
  24069. online discussion with a properly qualified doctor, who will then issue a prescription. 
  24070. **Illegitimate businesses will invariably circumvent these requirements - some sites sell drugs without a prescription, and any online consultation, if it takes place at all, often consists of no more than a questionnaire. The inherent dangers in such purchases are clear - for example, not every male is a suitable candidate for Viagra, especially if they have a  heart condition. Mixing drugs with pre-
  24071. existing medication may also be highly dangerous.
  24072. **However, it's difficult for UK authorities to take effective enforcement action against US-based online pharmacies. The FDA could, of course, be invited to assist on an agency-to-agency basis, but there's no trans-national legal obligation on the US agency to take any enforcement action. An aggrieved UK citizen can, if they wish, submit their own complaint direct to the FDA via the Administration's site. Typically, enforcement in relatio
  24073. n to overseas supplies of drugs to UK citizens takes the form of UK Customs seizing the incoming mail and forfeiting the contents, but it is, of course, the consumer and not the supplier that loses out.
  24074. **In the case of online 'pharmacies' in the UK, action can be taken by the UK's Medicines Control Agency (MCA) under the Medicines Act 1968. The MCA (www.mca.gov.uk) is empowered to regulate the sale of prescription drugs. If the online supply of drugs involves non-prescription drugs such 
  24075. as cannabis, heroin, cocaine or speed, regulation is principally via the Misuse of Drugs Act and enforcement is more likely to be a matter for the police. 
  24076. **The site www.mca.gov.uk/ourwork/enforcemedleg/prosecutions.htm contains details of the recent prosecutions brought by the MCA. It's interesting to note that the majority of recent prosecutions appear to have been brought against vendors of Chinese herbal remedies, which have, in fact, contained powerful synthetic drugs. The MCA has a
  24077. lso brought a number of prosecutions against UK online suppliers of prescription drugs, although such cases can be counted on the fingers of one hand.
  24078. **For example, on 24 April 2001 at South Western Magistrates Court in London, John Williams pleaded guilty to one count of selling sildenafil (Viagra) otherwise than in accordance with a prescription given by an appropriate practitioner, contrary to sections 58(2) and 67(2) of the Medicines Act 1968 (see Medicines Control Act and the Online
  24079.  Sale of Prescription Drugs). Williams, a director of Claremont Ltd, a company he operated from his home and which had been advertising the Viagra for sale on the Internet, was sentenced on 5 June 2001 at Kingston Crown Court. On sentencing Williams, Judge Binning commented that the matter was serious because Viagra may be medically inappropriate for those purchasing and using it. Although he considered a custodial sentence, the judge took into account the small number of tablets sold (fou
  24080. r) and instead imposed a 
  24081. 5,000 fine and ordered the defendant to pay the total prosecution costs of 
  24082. 4,587.40.
  24083. *More recently in 2002, the MCA brought a successful prosecution against an online seller of Viagra in Stafford Crown Court. The vendor received a 12-month custodial sentence and was ordered to forfeit a substantial sum, which was estimated to represent the proceeds of his criminal activity. Such a limited number of prosecutions is clearly insufficient to deter the considerabl
  24084. e number of UK-based online suppliers of prescription drugs, although the prison sentence in the Stafford case is an interesting development. Only time will tell whether further prosecutions and stiffer sentences will discourage others from setting up similar illicit businesses.
  24085. **more online law
  24086. *Two months ago (see issue 99), I looked at the site run by LawZONE (www.lawzone.co.uk) and its facilities. LawZONE is a free site financed by advertising and the promotion of services relevant t
  24087. o lawyers, but its business model must be successful, since imitators are now appearing. Most of them, however, move us out of the territory of e-publications that are of general interest and into areas that are principally of interest to practising lawyers. Indeed, some of the resources mentioned below will require you to establish your credentials as a lawyer before even allowing you to subscribe.
  24088. **Infolaw produces a free monthly newsletter that claims to provide information on new sit
  24089. es and developments across the UK legal web, as well as analysis and comment on established high-value web resources for lawyers. It offers tips on how to get the most from the legal web and a summary of new resources added to the Infolaw site. Subscription is by way of registration on the Infolaw website www.infolaw.co.uk
  24090. *The Lawyer, a magazine aimed principally at commercial lawyers, has been around in print form for many years and now produces a weekly email newsletter - the imaginativ
  24091. ely entitled Lawyer News Weekly. The Lawyer's site is at www.thelawyer.co.uk
  24092. *The Law Society's Gazette, the magazine published weekly by the governing body for solicitors, can be inspected in its online form at www.lawgazette.co.uk. It contains easily digestible news items, plus more in-depth analysis of current legal topics. It's a bit dry, but could be interesting to the layperson as a revealing insight into the turmoil currently besetting the legal profession. The Law Society itself ca
  24093. n be visited at www.lawsociety.org.uk. This site includes information on finding a solicitor, qualifying as a solicitor and complaining about a solicitor.
  24094. **While on the issue of online versions of print publications, I should mention The Times Law Reports at www.thetimes.co.uk and the legal news section of The Independent at http://news.independent.co.uk/uk/legal/. There's currently some controversy surrounding The Times Law Reports, which have long been regarded as a valuable resource. 
  24095. The newspaper has cottoned on to this fact and is seeking to make this aspect of The Times website available to subscribers only. At the time of writing, the issue hadn't yet been fully resolved.
  24096. **As the tussle over The Times Law Reports illustrates, detailed legal information is a valuable commodity, which is why most of the truly detailed sites are only accessible after the payment of a subscription. Such sites are likely only to be of interest to a practising lawyer, but examples can 
  24097. be found at www.lexis.com, www.butterworths.com, www.westlaw.co.uk and www.lawtel.co.uk. Lawtel and Westlaw are both sites maintained by the well-established legal publishers Sweet and Maxwell, while the Butterworths and Lexis sites are both associated with rival legal publishers Butterworths. Finally, if you want to order a legal textbook, specialised suppliers can be found at Sweet and Maxwell (www.smlawpub.co.uk) and the  Butterworths site, and don't forget that legal textbooks are ofte
  24098. UCn also available at non-specialist online retailers such as Amazon.
  24099. HQAngus Hamilton looks at the regulation of the online supply of prescription drugsL
  24100. March 2003X
  24101. 101 (March 2003)i
  24102. Legal
  24103. Paul lynchD
  24104. 'Free' OPL
  24105. I haven't written much about Symbian lately. Although there has been much activity from the companies that all once belonged together as parts of Psion, almost all of it has been the sort of internal rumblings that happen within any such complex inter-relationships. This is all part of business, but some of these internal stories are more interesting...
  24106. **Teklogix, the US company acquired by Psion a couple of years ago, already had a good business based around Windows CE custom applicatio
  24107. +O+O+O+O+O+O+O+O
  24108. O+O+O+O+O+O+O+O{
  24109. +O+O+O+O
  24110. O+O+O+O+O+O+O
  24111. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  24112. %U%U%U
  24113. +O+O+O+O+O+O
  24114. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  24115. +O+O+O+GO+O+O
  24116. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  24117. +O+O+O+O+O+O
  24118. +O+O+O+O+z
  24119. +O+O+
  24120. +O+O+OO+O+O+O+O+O+O+O+O+O
  24121. %U%U%U%U%
  24122. U%U%UI1I1I2H2I1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I1I
  24123. O+O+O+O+O+O+O+O
  24124. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  24125. %U%U%U%U%U%U%UI1I1I2H2I1I1I1I1I1I1I
  24126. 1I1I1I1I1I1I1I1I1I1I
  24127. O+O+O+O+O+O+O+O
  24128. +O+O+
  24129. O+O+O+O+O
  24130. %U%U%U%U%
  24131. U%UI1I
  24132. +O+O+
  24133. +O+O+OO+O+O+O+O+O+O+O+O+O
  24134. O+O+O+
  24135. +O+O+O+O
  24136. O+O+O
  24137. O+O+O+z
  24138. +O+O+O+O+O+O
  24139. O+O+O+O+O+O+O+O+O
  24140. O+O+O
  24141. +O+O+O+O+O+O
  24142. %U%U%UI1I1I1I1I1I1I1I1I1I
  24143. +O+O+O+O
  24144. O+O+O+O+O+GO+O+O
  24145. %U%U%UI1I1I1I1I1I1I1I1I1I
  24146. +O+O+O+O
  24147. O+O+O+O+O+O+O+O
  24148. %U%U%UI1I1I1I
  24149. +O+O+O+O+O+OO+O+O+O+O+O+O+O+O,N
  24150. OO+O+O+O+O+O+O
  24151. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O,N,O
  24152. OO+O+O+O+O+O+O
  24153. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O,N,O
  24154. OO+O+O+O+O+O+O
  24155. +O+O+O+O
  24156. +O+O+OO+O+O+O+O+O+O+O+O,N,O
  24157. OO+O+O+O+O+O+O
  24158. O+O+O+O+O+O+{
  24159. +O+OO+O+O+O+O+O+O+O+O+O
  24160. O+O+O+O+O+O+O+O+O+O+O+O
  24161. +O+OO+O+O+O+O+O+O+O+O+O
  24162. O+O+O+O+O+O+O+O+O+O+
  24163. +O+OO+O+O+O+O+O+O+O+O+O
  24164. O+O+O+O+O+O+O+O+O+O+O+O
  24165. +O+OO+O+O+O+O+O
  24166. O+O+O+O+O+O+O+O+O+O+O+O+O
  24167. O+O+O+O+O+O+O+O+O
  24168. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24169. O+O+O+O+O+O+O+O+O
  24170. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24171. O+O+O+O+O+O+O+O+O
  24172. O+O+O+O+O+O+O+O+O+O+O+O
  24173. +O+O+O
  24174. O+O+O+O+O+O+O+O+O
  24175. O+O+O+O+O+O+O+
  24176. O+O+O+O+O+O+O
  24177. O+O+O+O+O+O+O+O
  24178. %OO+O+O+O+O+O+O+
  24179. O+O+O+O+O+O+O+O
  24180. O+O+O+Oz
  24181. O+O+O+O+O+O
  24182. +O+O+
  24183. +O+O+O+O+O+O+O+O+O+O+O+OO+O+O+O+O
  24184. +O+O+O+O+O+O
  24185. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  24186. +O+O+O+O+GO+O
  24187. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  24188. +O+O+O+O+O+O
  24189. +O+O+O+O+O+
  24190. +O+O+
  24191. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  24192. O+O+O+O+O+O+O+O+O
  24193. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  24194. O+O+O+O+O+O+O+O+O
  24195. +O+O+O+O+OO+O+O+O+O+O+O+O+O+O
  24196. O+O+O+O+O+O+O+O+O
  24197. +O+O+O+
  24198. O+OO+O+O+O+O+O+O+O+O+O
  24199. O+O+O+O+O+O+O+O+
  24200. O+O+O
  24201. O+O+O+O+O+O+O+O+O
  24202. O+O+O+O+O+O+O
  24203. O+O+O+O
  24204. O+O+O+O+O+O+O+O+O
  24205. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24206. O+O+O+O+O+O+O+O+O
  24207. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24208. O+O+O+O+O+O+O+O+
  24209. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24210. O+O+O+O+O+O+O+O+O
  24211. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24212. O+O+O+O+O+O+O+O+O
  24213. O+O+O+O+O+O+O+O+O+O+O
  24214. +O+O+O+O
  24215. O+O+O+O+O+O+O+O+O
  24216. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24217. O+O+O+O+O+O+O+O+O
  24218. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24219. O+O+O+O+O+O+O+O+O+
  24220. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24221. O+O+O+O+
  24222. O+O+O+O
  24223. O+O+O+O+z{
  24224. +O+O+O
  24225. +OO+O+O+O+O+O+O+O,N,O
  24226. OO+O+O+O+O+O+O+O
  24227. +O+O+O+O+O+O+OO+O+O+O+O+O+O+O,N,O
  24228. OO+O+O+O+O+O+O+O
  24229. +O+O+O+O+
  24230. O+O+OO+O+O+O+O+O+O+O,N,O
  24231. OO+O+O+O+O+O+O+O
  24232. +O+O+O+O+O+O+OO+O+O+O+O+O+O+{z
  24233. O+O+O+O+O+O+O
  24234. O+O+O+O+O+O+O+O
  24235. O+O+O+O+O+O+
  24236. O+O+O+O+O+O+O+O+O+O
  24237. O+O+O+O+O+O+O+O
  24238. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24239. O+O+O+O+O+O+O+O
  24240. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24241. O+O+O+
  24242. O+O+O+O+O
  24243. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24244. O+O+O
  24245. +OO+O+O+O+O+O+O+O+O+O
  24246. O+O+O+O+O+O+O+O+O+O+O+O+O
  24247. +OO+O+O+O+O+O+O{
  24248. +O+O+O+O
  24249. O+O+O+O+O+O+O+O+O+O
  24250. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  24251. O+O+O+O+O+O+O+O+O+O
  24252. +O+O+O+OO+
  24253. O+O+O+O+O+O+O+O+O
  24254. O+O+O+O+O+O+O+O+O+O
  24255. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  24256. O+O+O+O+O+O+O+O+O+O
  24257. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  24258. O+O+O
  24259. +O+O+O+O+O+O+O
  24260. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  24261. O+O+O+O+O+O+O+O+O+O
  24262. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  24263. O+O+O+O+O+O+O+O+O+O
  24264. +O+O+O+OO+O
  24265. +O+O+O+O+O+O+O+O
  24266. O+O+O+O+O+O+O+O+O+O
  24267. +O+O+O+O
  24268. O+O+O+O+O+O+O
  24269. O+O+OO+O+O+O+O+O+O+O+O+O
  24270. O+O+O+O+O+O+O+O+O+O+O
  24271. +O+O+OO+O+O+O+O+O+O+O+O+O
  24272. O+O+O+O+O+O+O+O+O+O+O
  24273. +O+O+OO+O+
  24274. O+O+O+O+O+O+O+O
  24275. O+O+O+O+O+O+O+O+O+O+O
  24276. +O+O+OO+O+O+O+O+O+O+O+O+O
  24277. O+O+O+O+O+O+O+O+O+O+O
  24278. +O+O+OO+O+O+O+O+O+O+O+O+O
  24279. O+O+O+O
  24280. +O+O+O+O+O+O+O
  24281. +O+O+OO+O+O+O+O+O+O+O+O+O
  24282. O+O+O+O+O+O+O+O+O+O+O
  24283. +O+O+OO+O+O+O+O+O+O+O+O+O
  24284. O+O+O+O+O+O+O+O+O+O+O
  24285. +O+O+OO+O+O
  24286. +O+O+O+O+O+O+O
  24287. O+O+O+O+O+O+O+O+O+O+O
  24288. regulatedL
  24289. regulates
  24290. regulating
  24291. regulationt
  24292. regulations
  24293. regulatorb
  24294. regulatory
  24295. regurgitated
  24296. regurgitates
  24297. regurgitation
  24298. regwrite
  24299. rehabilitateda
  24300. rehabilitation
  24301. rehash
  24302. rehashed
  24303. rehearse
  24304. rehearsed
  24305. reinforcedH
  24306. reinforces
  24307. reinforcing
  24308. reinsertD
  24309. reinstallL
  24310. reinstallation
  24311. reinstalledD
  24312. reinstalling
  24313. reinstalls
  24314. reinvent
  24315. reinventing
  24316. reinvestment
  24317. reiterate
  24318. O+O+O+O+O
  24319. O+O+O+O+O+O+O+
  24320. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24321. O+O+O+O+O+O+O+O
  24322. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24323. O+O+O+O+O+O+O+O
  24324. O+O+O+O+O+O+O+O+O+O+O
  24325. +O+O+O+O+O
  24326. O+O+O+O+O+O+O+O
  24327. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24328. O+O+O+O+O+O+O+O
  24329. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24330. O+O+O+O+O+O+O+O
  24331. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24332. O+O+O+O+O+O+O+O
  24333. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24334. O+O+O+O+O+O+O+O
  24335. O+O+O+O+O+O+O+O+O+O+O+
  24336. O+O+O+O+O+O+O
  24337. O+O+O+O+O+O+O+O+O
  24338. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24339. O+O+O+O+
  24340. O+O+O+O+O
  24341. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24342. O+O+O+O+O+
  24343. O+O+O+O
  24344. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24345. O+O+O+O+O+O+O+O+O
  24346. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24347. O+O+O+O+O+O+O+O+O
  24348. O+O+O+O+O+O+O+O
  24349. +O+O+O+O+O+O+O
  24350. O+O+O+O+O+O+O+O+O
  24351. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24352. O+O+O+O+O+O+O+O+O
  24353. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24354. O+O+O+O+O+O
  24355. +O+O+O
  24356. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24357. O+O+O+O+O+O+O+O+O
  24358. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24359. O+O+O+O+O+O+O+O+O
  24360. O+O+O+O+O+O+O+O+
  24361. O+O+O+O+O+O+O
  24362. +O+O+O+OO+O+O+O+O+O+O+O+O+O
  24363. O+O+O+O+O+O+O+O+O
  24364. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24365. O+O+O+O+O+O+O+O+O
  24366. O+O+O+O+O+O+O+O+O+O+O+O
  24367. +O+O+O
  24368. O+O+O+O+O+O+O+O+O
  24369. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24370. O+O+O+O+O+O+O+O+O
  24371. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24372. O+O+O+O+O+O+O+O+O
  24373. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24374. O+O+O+O+O+O+O+O+O
  24375. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24376. O+O+O+O+O+O+O+O+O
  24377. O+O+O+O+O+O+O+O+O+O+O+O+
  24378. O+O+O
  24379. O+O+O+O+O+O+O+O
  24380. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24381. O+O+O+O+O+O+O+O
  24382. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24383. O+O+O+O+O+O+O+O
  24384. +O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24385. O+O+O+O+O+O+O+O
  24386. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24387. O+O+O+O+O+O+O+O
  24388. O+O+O+O+O+O+O+O+O+O+O+O+O
  24389. +O+O+O
  24390. O+O+O+O+O+O+O+O
  24391. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24392. O+O+O+O+O+O+O+O
  24393. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24394. O+O+O+O+O+O+O+O
  24395. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24396. O+O+O+O+O+O+O+O
  24397. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24398. O+O+O+O+O+O+O+O
  24399. O+O+O+O+O+O+O+O+O+O+O+O+O+
  24400. O+O+O+O+O
  24401. O+O+O+O+O+O+O+O
  24402. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24403. O+O+O+O+O+O+O+O
  24404. O+O+O+O+O+O+O+O+O+O+O+
  24405. imagineA
  24406. imagine
  24407. you're
  24408. cheese
  24409. major
  24410. global
  24411. company
  24412. imgname
  24413. imitate
  24414. imitationF
  24415. imitator/killer
  24416. tutorialW
  24417. tutorial-style
  24418. tutorialsU
  24419. tuvalu
  24420. tuxedo
  24421. tuxedos
  24422. tv-based
  24423. tv-like
  24424. twin-cpu
  24425. twin-floppy
  24426. twin-head
  24427. twin-output
  24428. twin-processor
  24429. twinges
  24430. twins
  24431. twips
  24432. twipsperpixelx
  24433. twipsperpixely
  24434. twirl
  24435. twist[
  24436. twistedA
  24437. don'tt
  24438. ns and devices, but took over Psion Enterprise with good grace and continued to make the enterprise-focused machines from Psion. Now I understand that it is no longer a Symbian licensee. 
  24439. **As I reported over a year ago, Teklogix took a decision not to upgrade the operating system of the netBook from ER5 to ER6, which makes reasonable business sense as Symbian narrows down ever more tightly on the smartphone market, with the Sony Ericsson slab of that market its preferred domain. This und
  24440. erlines the decision made by Psion to gradually back out of the PDA business and quashes any final hope for Psion devotees that a new version of their much-loved PDA will ever be produced.
  24441. **If any single aspect of the old Psion machines could be held up  to illustrate the reasons why so many people bought and loved them, I'd have to say it was OPL, the interpreted programming language all these machines supported. Psion tried many times to move away from OPL, with semi-support for Visual
  24442.  Basic and the eventual release of the C/C++-based SDKs, but OPL facilities were finally released and widely distributed for most Psion devices, even the Nokia 9210 series. 
  24443. **OPL is remarkably neat and efficient on Psion hardware and very attractive to the hobby programmer. As such, it was probably directly responsible for the strong third-party software support for the entire Psion range. If I were to attempt to describe OPL, I'd call it an advanced Basic without line numbers, but devot
  24444. ees would go a lot further. 
  24445. **Symbian is intending to release OPL as an open source project, making all the source code for OPL accessible to developers. It should become available for the latest Symbian smartphone models, the Series 60 and UIQ devices. UIQ is the basis for the Sony Ericsson P800, and Series 60 is the Nokia-based UI used in the Nokia 7650 (OPL is, of course, already available for the Nokia 9210 Communicator family).
  24446. **Some excellent apps written by enthusiasts are still
  24447.  around for older Symbian PDAs and have shown their worth in ports to the Nokia 9210. It will be good to see this community of developers make its way onto the latest Sony Ericsson and Nokia smartphones.
  24448. **Cat Fishing
  24449. *Paul Ockenden - who writes the RWC Web Business column - and I both use the same old model of Compaq iPAQ and he mailed me the following useful tip for dealing with dusty iPAQs. Anybody who regularly uses one of the early iPAQ machines (the 3300 and 3600 series in particula
  24450. r, but also the 3700 family) will be aware of the problem of dust getting inside the screen. There seems to be a kind of magic that makes the dust particles appear much bigger than they really are. In particular, when using the machine in darkness with the backlight on, these specks of dust perform a good impression of the North Star.
  24451. **If you tap the screen, you can move the dust around, but can't get rid of it. Fear not though, as there's a solution to this problem, and you'll be please
  24452. d to hear it doesn't involve taking the machine apart. 
  24453. **What it does need, however, is a donation from your cat. If you don't have a cat, try visiting your oldest auntie, as they always seem to have cats. The donation you'll need is a whisker - the longer the better. I'm sure this goes without saying, but please don't go pulling whiskers out of your cat - to do so would be incredibly cruel. You need to keep an eye on the carpet and other places where the cat sleeps, looking for whiskers
  24454.  that have been shed naturally. 
  24455. **Once you have one, you're ready to go fishing. Remove the stylus from your iPAQ and switch on the backlight. If you look through the stylus hole, you'll see a gap towards the front of the machine with light shining through it - this is the 'dust fishing hole'. Take the whisker and poke the thin end of it through that hole. You may need to jiggle it a bit, but you should find that you're able to poke it between the LCD screen and the protective glass. Onc
  24456. e it's there, with a bit of twisting, poking and a certain amount of good luck, you'll be able to make contact with the dust particles. They should be attracted to the thin end of the whisker by static, so once you've 'hooked' a dust particle simply (and carefully) remove the whisker and wipe the dust off on a tissue. With a bit of practice, you'll be able to maintain your PDA in an almost spotless condition. 
  24457. **(NOTE: no cats were harmed in the preparation of this article.)
  24458. **EQ Pocket
  24459. *EverQuest is a games phenomenon that chews up far too many hours of otherwise potentially productive time on Windows desktop computers. As such, it's perhaps only fitting that its maker, Sony Online Entertainment (http://eqpocket.station.sony.com), should seek to occupy the minds of its 400,000+ user base when they're forced to be away from their desktop games machine, by releasing EverQuest for the Pocket PC. 
  24460. **This simple hack-and-slash combat adventure game, along the lines of many s
  24461. uch for both the Pocket PC and Palm, has been given an EverQuest flavour. It isn't in any way a true MMORPG (massively multiple online role-playing game) like EverQuest, and it's doubtful that a MMORPG client for a game of the scale of EverQuest could ever be crammed into a PDA. It isn't a substitute for the resource-hungry PC desktop version either. How can a PDA game even resemble a full-scale MMORPG - can it replicate the atmosphere in any way? And, most important of all, how does it pl
  24462. ay as a game in its own right?
  24463. **Episode 1 is available now for $20 (
  24464. 13), with two more episodes planned. The game includes four race/class combinations (dwarf warrior, wood elf druid, human wizard and high elf magician), from which you can choose one and take it as far as level 12 (as opposed to level 65 in the PC game). The general topography is loosely familiar: it's based around Freeport, with locations such as Nektulos Forest, Neriak, Befallen and the Deserts of Ro, as well as new l
  24465. ocations like the ruins of Nordok. Later episodes will encompass more of the massive map of EverQuest. 
  24466. **Spellcasters can have four spells memorised out of eight in their spell books, as opposed to eight out of hundreds, and inventory and character statistics are similarly cut down. These changes are, to my mind, to be expected: a 64MB Pocket PC isn't a multigigabyte desktop PC so something has to give. One constant feature of EverQuest for the PC is that the standard view is a first-per
  24467. son one and, although third-person views are possible, the majority of players stick with the first-person most of the time as it allows them to identify with their character and the world they're in. 
  24468. **EverQuest for the Pocket PC is a single-player, isomorphic hack-and-slash game, which takes about 20 hours to complete (I hear). It uses a third-person isomorphic view, rather like Diablo. Unlike its parent, it offers automatic mapping and lets you look through walls as you get close, whi
  24469. ch is a useful warning of approaching nasties. The simple combat system of EverQuest is preserved - all you can do is auto-attack and cast spells. As there are no other players to work with, spellcasters can cast while in close combat and won't have their spells constantly interrupted by melee hits. Mobs (as the non-player enemies are referred to) are ranked in danger by a colour scheme identical to parent EverQuest's, indicating the relative level of the player versus the mob.
  24470. **There's 
  24471. also a loose storyline, based around a simple and very linear quest, which requires you to locate and talk to a few NPCs. Again, like EverQuest for the PC, the quests are pervasive but not very strong. One of the biggest criticisms of EverQuest for the Pocket PC is that the quest conversations are too simple, direct and linear. For a Pocket PC game, the maps are huge, and walking back and forth between quest givers gets boring quickly. 
  24472. **Installation is via the usual download, but with a
  24473.  couple of catches. There isn't a MIPS version, only ARM (which means it plays on XScale processors as well), and the installed size is roughly 6MB so make sure you have enough space. Older Pocket PCs may be missing a file that isn't included in the distribution - gx.dll. If you have problems launching EverQuest for the Pocket PC, download GAPI 1.2 from www.microsoft.com/mobile/pocketpc/downloads/devdownloads.asp and extract and install gx.dll in your Windows folder. The developer's websit
  24474. e is at www.emodiv.com
  24475. **EverQuest for the Pocket PC preserves some of the flavour of EverQuest PC, especially for low-level players, despite the major differences. It might amuse a dedicated EverQuest PC player for a short time, as they play spot the similarities, but I'm not convinced it offers enough of the real hooks of EverQuest to satisfy an addict. As a Pocket PC role-playing adventure it isn't bad, judged on its own merits. There are some weak spots, but if these are fixed for the
  24476. T[ next episodes it promises to be an enjoyable way to spend $20 (UK prices to be announced).
  24477. H`Psion devotees will jump for joy at news that open source OPL could soon arrive, says Paul LynchL
  24478. March 2003X
  24479. 101 (March 2003)i
  24480. Mobile Computing
  24481. Brian heywoodD
  24482. Reason to be cheerful
  24483. One feature most music or audio software packages have in common is that traditionally they tend to look like computer programs. This isn't particularly surprising, since that's exactly what they are, but it can often hold back the creative process as you try to grapple with whatever user interface the software developer has chosen to impose upon the task. This is especially true if you're already familiar with the hardware equivalent you might use to do the job in the studio, and for whic
  24484. interactingk
  24485. interactionR
  24486. interactionsn
  24487. interactive[
  24488. interestingF
  24489. teklogixu
  24490. tektronix
  24491. telco
  24492. telcos
  24493. tele-education
  24494. telecom
  24495. telecom's
  24496. telecomms
  24497. telecommunication
  24498. telecommunications
  24499. telecommute
  24500. telecommuting
  24501. telecomsY
  24502. teleconferencing
  24503. telegraph
  24504. telehouse\
  24505. telemarketing
  24506. telemedicine
  24507. telephone-number
  24508. telephone/isp
  24509. telephoned
  24510. telephones
  24511. telephony
  24512. teleport~
  24513. telescopeb
  24514. teleshopping
  24515. telesto
  24516. telesyn
  24517. teletubbies
  24518. licensingE
  24519. licensing/copyright
  24520. lida/mp3
  24521. lidin
  24522. lidsb
  24523. liechtenstein
  24524. lieds
  24525. liesH
  24526. +O+O+O+O+O
  24527. O+O+O+O+O+O+O+O+O+O+O+O
  24528. +O+O+O+O
  24529. O+O+O+O+O+O+O+O
  24530. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24531. O+O+O+O+O+O+O+O
  24532. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24533. O+O+O+O+O+O+O+O
  24534. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24535. O+O+O+O+O+O+O+O
  24536. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24537. O+O+O+O+O+O+O+O
  24538. O+O+O+O+O+O+O+O+O+O+O+O+
  24539. O+O+O+O+O+O+O+O
  24540. %U%UI1I1I1I1I1I1I1I1I1I
  24541. +O+O+O+O+O
  24542. O+O+O+O+O+O+O+O
  24543. %U%UI1I1I1I1I1I1I1I1I1I
  24544. +O+O+O+O+O
  24545. O+O+O+O+O+O+O+O
  24546. %U%UI1
  24547. I1I1I1I1I1I1I1I1I
  24548. +O+O+O+O+O
  24549. O+O+O+O+O+O+O+O
  24550. %U%UI1I1I1I1I1I1I
  24551. 1I1I1I
  24552. +O+O+O+O+O
  24553. O+O+O+O+O+O+O+O
  24554. %U%UI1I1I1I1I1I1I1I1I1I
  24555. +O+O+O+O
  24556. O+O+O+O+O+O+O+O
  24557. %U%UI1I1I1I1I1I1I1I1I1I
  24558. +O+O+O+O+O
  24559. O+O+O+O+O+O+O+O
  24560. %U%UI1I1I1I1I1I1I1I1I1I
  24561. +O+O+O+O+O
  24562. O+O+O+O+O+O+O+O
  24563. %U%UI1I
  24564. 1I1I1I1I1I1I1I1I
  24565. +O+O+O+O+O
  24566. O+O+O+O+O+O+O+O
  24567. %U%UI1I1I1I1I1I1I1I1I1I
  24568. +O+O+O+O+O
  24569. O+O+O+O+O+O+O+O
  24570. %U%UI1I1I1I1I1I1I1I1I1I
  24571. +O+O+O+O+
  24572. O+O+O
  24573. O+O+O+O+O+O+O+O+O
  24574. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24575. O+O+O+O+O+O+O+O+O
  24576. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24577. O+O+O+O+O+O+O+O+O
  24578. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24579. much-lovedu
  24580. much-maligned
  24581. much-modified
  24582. much-neededH
  24583. much-neglectedH
  24584. much-reduced
  24585. much-requested
  24586. much-revised
  24587. much-simplified
  24588. much-touted
  24589. much-trumpeted
  24590. much-used
  24591. much-vaunted
  24592. muckingZ
  24593. muddied
  24594. muddle
  24595. muddled
  24596. muddya
  24597. muesli
  24598. mug's
  24599. mugged
  24600. mugshot
  24601. mugshots
  24602. mulberry
  24603. mulder
  24604. muldiv
  24605. mulinux
  24606. mullet
  24607. mulling
  24608. mulloy
  24609. multi
  24610. multi-border
  24611. multi-box
  24612. multi-cdX
  24613. multi-client
  24614. multi-code
  24615. multi-column
  24616. multi-cpu
  24617. multisite_
  24618. multitask
  24619. multitaskingT
  24620. multithreading
  24621. multitrackX
  24622. multitudem
  24623. attractedu
  24624. attracting
  24625. attraction
  24626. attractions
  24627. attractiveD
  24628. attractive-looking
  24629. attractively-priced
  24630. attractiveness
  24631. attractsw
  24632. attrib
  24633. everyB
  24634. borlands
  24635. borland'ss
  24636. borland-watchers
  24637. borland/corel
  24638. borland/inprise
  24639. bornH
  24640. born-again
  24641. borne
  24642. borrow
  24643. borrowedF
  24644. borrowingI
  24645. borrows
  24646. bosch
  24647. bosom
  24648. bossG
  24649. roundY
  24650. round-cornered
  24651. round-robin
  24652. round-terms
  24653. round-trip|
  24654. round-tripping
  24655. rubble
  24656. rubiconW
  24657. rucksacks
  24658. rudeJ
  24659. rudimentaryI
  24660. rudiments
  24661. ruggedM
  24662. ruggedisedM
  24663. ruined
  24664. ruinsu
  24665. h this software is standing in.
  24666. **This isn't merely a case of Techno-Luddism, but a recognition of the fact that a hardware user interface developed over many years of practical experience might actually be the most suitable for that application. And even where this isn't the case, the mere fact of being presented with a familiar control paradigm can get you working sooner so that you're able to start producing some useful results, which after all is the point of the whole exercise. As co
  24667. mputers become more powerful, there's no reason why software applications can't come with a number of user interfaces, which would mean users could pick and choose the way they interact with the software, rather like changing the 'skins' of your media player to suit your mood.
  24668. **There's a reason for this preamble, and that reason is Reason. No, I'm not going completely mad. For a number of years, Swedish developer Propellerhead Software has been beavering away with a modular sound generat
  24669. or and loop-based sequencer called Reason that sits alongside the rest of its product range, which consists of ReBirth, ReCycle and ReWire. Reason is now up to version 2 (for both PC and Mac) and it takes the retro-hardware interface concept to its logical extreme by closely modelling a studio rack full of equipment, complete with patch leads in the back. And apart from looking cool, it works.
  24670. **The application falls neatly into two sections: the 'virtual' rack and the integrated sequence
  24671. r that drives the hardware to produce the actual noise. Starting with the rack, it has a number of sound modules, effects units and a pattern generator that can be plugged into one of 14 channel stereo mixers. I've been using version 1 of this software with the Subtractor Analog Synthesizer, a NN19 Digital Sampler, a Dr.Rex Loop player and a Redrum computer augmented by Malstr
  24672. m Graintable Synthesizer and a NN-XT Advanced Sampler in the latest offering. 
  24673. **The outboard effects consist of 
  24674. RV-7 Digital Reverb, DDL-1 Digital Delay Unit, D-11 Foldback Distortion, ECF-42 Envelope Controlled Filter, CF-101Chorus/ Flanger, PH-90 Phaser, COMP-01 Compressor/Limiter and PEQ-2 Two Band Parametric EQ. The mixer is a 14:2, with each channel strip (that is, input channel) having treble and bass EQ controls, four auxiliary sends, pan and a channel fader. You're able to set up multiple instances of the mixer and, indeed, any other module, which you can chain together to give you as many i
  24675. nput channels as you need, up to the limit of the computing power available on your PC. The list is rounded off by a Matrix Pattern Sequencer, which doesn't make or control any sound but can be used to drive the other modules.
  24676. **The point of listing all the available devices is to show you just how comprehensive the facilities are in this software. If you had the same amount of equivalent audio hardware, you'd have the basis of a pretty powerful MIDI programming suite or small studio. The
  24677.  graphical interface presents these sound modules as they'd appear in a real studio's 19in equipment rack, with all their controls being altered using the mouse. This mouse/knob control interface creates the usual bottleneck, but you can assign both keyboard and external MIDI controller shortcuts to control the various modules instead.
  24678. **The sequencer section of Reason pretty much follows the now standard user interface - a variation on the Cakewalk/Cubase theme. However, the creation of 
  24679. sequencer tracks follows the hardware setup rather than the other way round, so whenever you add a sound generator to the rack Reason will create a new sequencer track automatically. You can then use this sequencer track to record or program the MIDI information to make the selected sound module do its tricks. This track not only controls the musical performance, but also allows you to automate the controls on the sound module. So, for instance, using the analog synthesizer module (SubTrac
  24680. tor), you're able to include features such as dynamic filter sweep and resonance control as part of the sequence.
  24681. **Unlike most computer-based sequencers, the way the various components are connected is defined explicitly. Not only that, but you can re-route the virtual signals simply by re-patching the virtual cables between the modules. Hitting the Tab key on your keyboard displays the back of the rack, with the connections shown as cables between the outputs of the sound modules and th
  24682. e inputs of the mixer and other devices. You can reconfigure the signal routing by dragging the connectors with the mouse, and you may also cross-connect CV (control voltage) signals between modules and so on. This might sound complicated, but the beauty of the system is that, whenever you add a new component to the rack, it gets automatically wired up in a sensible configuration, which means you may never need to use the facility to re-patch modules. But if you do, everything is more or l
  24683. ess at your fingertips. What's more, you can start at a simple level by experimenting with the standard configuration, gradually becoming more sophisticated as your knowledge increases.
  24684. **Reason does have its limitations, though. I guess it's really designed as a standalone application and, as a result, its integration options are limited if you want to use it in a more traditional studio environment. For instance, it doesn't have any time-code facilities (SMPTE/MTC), which means it could
  24685.  be difficult to use for creating video soundtracks. However, it does have MIDI clock sync, so you could slave it off another sequencer or hard disk recorder quite easily. Reason can also integrate with other software applications that implement the Propellerhead ReSync standard, such as Cubase SX/VST, Logic and some Cakewalk products.
  24686. **This is only meant to be a quick overview of Reason, but by someone who's been using computer-based sequencers since the days when DOS was the only optio
  24687. n on the PC. This long association with the technology means I tend to take for granted that the 'standard' way of doing things is the only way, and products like Reason are a breath of fresh air. It's not surprising that Propellerhead received KEYS magazine's 'Most fun product to use of the year' award at the Frankfurt Music Fair this year. See www.propellerheads.se for more information.
  24688. **MIDI2WAV
  24689. *A question I'm often asked is how to convert a MIDI file into a wave file so that it can 
  24690. be played on other computers with different - perhaps inferior - MIDI hardware. While MIDI (Music Instrument Digital Interface) playback is a part of the MPC (Multimedia PC) specification that most modern PCs satisfy, the quality of the implementation can vary widely from machine to machine. The upshot of this is that if you develop a MIDI sequence on your PC that sounds pretty good, when you play it back on another PC it might sound like rubbish. This is due to a number of factors such as
  24691.  the quality of the target MIDI sound generator or even just to the relative loudness of the various General MIDI instruments.
  24692. **The way to get round this problem is to create a WAV file, which effectively 'renders' your MIDI sequence into a frozen format. This is a bit like printing out a word processor document: you can no longer edit the data but you know the playback will sound exactly the same on any other PC as it does on yours. If you create a WAV file compatible with the CD Audio 
  24693. format (sample rate 44.1kHz, 16-bit stereo samples), you can even burn it onto a disc so it could be played on any domestic CD player. Or you could just convert it into an MP3 file and send it out via email. Of course, there's a big data storage size hit when you convert a MIDI file to a digital audio file. For instance, I recently converted a three-and-a-half-minute GM MIDI sequence to an audio file and its size went from 30KB to 36MB. Even subsequently encoding the WAV file as a 64Kb/sec
  24694.  MP3 file meant the audio file was more than 50 times the size of the original MIDI file.
  24695. **While there's nothing difficult about creating a WAV file from a MIDI sequence, it can be fiddly to sort out, as you need to run both your sequencer and an audio recorder, and you may need to connect your sound card's line input to its line output with an external lead. However, David Keppler pointed out a simpler alternative in the 'pc_pro' conference on Cix recently. Called Midi2Wav, this handy l
  24696. ittle utility takes control of your PC's mixer and uses Windows built-in MPC facilities to play back a MIDI sequence and record it onto your PC's hard disk at a user-selectable resolution. Its control panel enables you to select the sample format of the destination file as well as mix or even mute individual MIDI channels as you create the WAV file. 
  24697. **You need to check it works on your particular PC, though, before you shell out the 
  24698. 10 or so for the software. This is because PC manufact
  24699. urers have different ideas about how the MPC features should be implemented. For example, my Dell Precision 420, which I use in the office for multimedia development, will only work if I link the sound card's line in to its line out with an external cable, while my DIY studio PC equipped with a Sound Blaster Audigy 1 worked like a dream without a patch. Mind you, the Dell not working was no great loss, as the Audigy's software synthesizer gave better results.  Download the demo and purchasU
  24700. e  from www.midi2wav.com
  24701. HCBrian Heywood looks toward the future of computer audio developmentL
  24702. March 2003X
  24703. 101 (March 2003)i
  24704. MULTIMEDIA:AUDIO
  24705. Steve CassidyD
  24706. Basically data
  24707. toolingX
  24708. tooling
  24709. tools
  24710. totting
  24711. totting
  24712. e-bill
  24713. touch
  24714. story
  24715. trace
  24716. trackR
  24717. track
  24718. requests
  24719. freeR
  24720. traht
  24721. transparent
  24722. transparent
  24723. times
  24724. trapsG
  24725. travel
  24726. travel
  24727. trawling
  24728. trawling
  24729. usenet
  24730. treo-hugger
  24731. tricks
  24732. tripping
  24733. trojan
  24734. trojan
  24735. trouble
  24736. trouble
  24737. store
  24738. troubles
  24739. truck
  24740. trust
  24741. trust
  24742. tungsten
  24743. tungsten
  24744. tuning
  24745. tuning
  24746. track
  24747. turnoff
  24748. turnoff
  24749. tweaks
  24750. palms
  24751. twins
  24752. twips
  24753. steps
  24754. typing
  24755. vegas
  24756. lands
  24757. warningd
  24758. watchdog`
  24759. clipping
  24760. services
  24761. webcam`
  24762. subwindow`
  24763. subwoofer
  24764. subzone
  24765. succeed
  24766. succeeded
  24767. succeeding
  24768. succeedsg
  24769. successH
  24770. successionW
  24771. successivef
  24772. successorS
  24773. suggestions@
  24774. suicide@
  24775. suitably@
  24776. suites@
  24777. sulk@
  24778. summing@
  24779. sun's@
  24780. super-high-resolutio@
  24781. superannuated@
  24782. superhuman@
  24783. superior
  24784. superiority
  24785. supervisor@
  24786. supplied
  24787. supplier
  24788. supplier's@
  24789. supply
  24790. supply-induced
  24791. support
  24792. support's
  24793. support-pack
  24794. supported@
  24795. supporter@
  24796. supportive@
  24797. supports
  24798. supportsymmetrical
  24799. suppose
  24800. supposedly@
  24801. supremo@
  24802. sure-fire@
  24803. surfacedesigner@
  24804. surly@
  24805. surprised@
  24806. surprising
  24807. surprisingly@
  24808. surprisingly-advance
  24809. surrounding
  24810. surroundings
  24811. surviving@
  24812. suspect's@
  24813. suspends
  24814. suspiciously@
  24815. swallowed
  24816. swapped@
  24817. swedish
  24818. swerve@
  24819. taking@
  24820. tale@
  24821. talk-show@
  24822. talking/ebook@
  24823. taping@
  24824. target@
  24825. targeted@
  24826. 1I1I1I1I1I1I1I1I1I
  24827. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24828. %UI1I1I1I1I1I1I1I1I1I
  24829. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24830. %UI1I1I1I
  24831. 1I1I1I1I1I1I
  24832. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24833. %UI1I1I1I1I1I1I1I1I1I
  24834. O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24835. %UI1I1I1I1I1I1I1I1I1I
  24836. O+O+O+O+O+O+
  24837. O+O+O
  24838. O+O+O+O+O+O+O+O+O
  24839. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24840. O+O+O+O+O+O+O+O+O
  24841. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24842. O+O+O+O+O+O+O+O+O
  24843. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24844. O+O+O+O+O+O+O+O+O
  24845. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24846. O+O+O+O+O+O+O+O+O
  24847. O+O+O+O+O+O+O+O
  24848. +O+O+O+O
  24849. +O+O+O
  24850. O+O+O+O+O+O+O+O+O
  24851. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24852. O+O+O+O+O+O+O+O+O
  24853. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24854. O+O+O+O+O+O+O+O+O
  24855. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24856. O+O+O+O+O+O+O+O+O
  24857. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24858. O+O+O+O+O+O+O+O+O
  24859. O+O+O+O+O+O+O+O+O+O+O+O+
  24860. O+O+O+O
  24861. O+O+O+O+O+O+O+O
  24862. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24863. O+O+O+O+O+O+O+O
  24864. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24865. O+O+O+O+O+O+O+O
  24866. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24867. O+O+O+O+O+O+O+O
  24868. O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O
  24869. O+O+O
  24870. frankfurtv
  24871. frankl
  24872. franklin
  24873. franklyC
  24874. frantic
  24875. franticallyL
  24876. fraser
  24877. fraternity
  24878. fraud
  24879. fraud-related
  24880. fraudsG
  24881. fraudster
  24882. fraudsters
  24883. fraudulentG
  24884. fraudulently
  24885. fraudulently-used
  24886. fraught
  24887. fraunhofer
  24888. fraunhofer-thomson
  24889. brian
  24890. heywood
  24891. looks
  24892. toward
  24893. future
  24894. computer
  24895. audio
  24896. devev
  24897. brian
  24898. heywood
  24899. marches
  24900. sound
  24901. different
  24902. drums
  24903. brian
  24904. heywood
  24905. through
  24906. don'ts
  24907. producing
  24908. brian
  24909. heywood
  24910. shares
  24911. knowledge
  24912. stuff
  24913. brian
  24914. heywood
  24915. sheds
  24916. light
  24917. brian
  24918. heywood
  24919. shows
  24920. compress
  24921. sound
  24922. files
  24923. brian
  24924. heywood
  24925. takes
  24926. sibelius
  24927. gives
  24928. brian
  24929. heywood
  24930. takes
  24931. latest
  24932. digital
  24933. offering
  24934. brian
  24935. guitar
  24936. heywood
  24937. shows
  24938. bricks
  24939. bridge
  24940. businesses
  24941. button
  24942. buying
  24943. buying
  24944. goods
  24945. other
  24946. personally
  24947. create
  24948. cards
  24949. carefulE
  24950. This column is an act of rebellion. Networks? Who needs to talk about networks? They're just a bunch of wires. Let's talk about something really interesting - databases. Almost every piece of data you're likely to want to use is stored in a database, and even the file system of your PC or server could be considered to be a 'database' of a kind. The most frequent problem I've been seeing over the last few months is caused by people throwing good money at the new generation of Pentium 4 Xeon
  24951.  servers, converting all their stuff to Windows 2000 Server, then looking at their core product or database and not seeing much improvement.
  24952. **If I were to look for a reason for the recent decline in IT spending - and an even steeper decline in trust - this notable absence of expected performance gains after laying out great wads of cash on new kit could just be the problem we professionals ought to be addressing. It could, of course, be that I'm seeing a skewed selection of clients with 
  24953. inadequate databases, and that just around each corner lies a different set of businesses that are all gasping i